1

UITableViewController のヘッダーの背景色を変更しようとしていますが、実際には独自の *.h/m ファイルがあります。私の .m ファイルに、いくつかのスタックオーバーフローの回答で示唆されているように、次のコードを貼り付けました。

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];
    if (section == 0)
        [headerView setBackgroundColor:[UIColor redColor]];
    else 
        [headerView setBackgroundColor:[UIColor clearColor]];
    return headerView;
}

しかし、結果は次のとおりです。

ここに画像の説明を入力

青いヘッダーを赤にしたい。ヘッダーと最初のセルの間に赤いバーがある理由がわかりません。

追加の詳細 このコメントが役立つ場合: 私は xcode 4.2 を初めて使用します。私がしたことは、ストーリーボードに移動し、ナビゲーション コントローラーをドラッグし、テーブル ビューをドラッグすることでした。左側のエクスプローラー bard に移動し、UITableviewController を拡張する MyUITableViewController という名前の新しいファイルを追加します。上記の関数を MyUITabelViewController.m ファイルに貼り付けました。次に、heightforheaderinsection 関数を実装して CGfloat 値を返しました (その後、青色のヘッダーと最初のセルの間のスペースを増やしただけです)。ストーリーボードに戻り、tableviewcontroller を左クリックして MyUITableViewController クラスを指していることを確認します。不足している手順は何ですか?

4

3 に答える 3

3

Apple の UITableViewDelegate クラス リファレンス、メソッド- tableView:viewForHeaderInSection::

このメソッドは、tableView:heightForHeaderInSection: も実装されている場合にのみ正しく機能します。

その方法を実装しましたか?

編集:コメントを読み、ストーリーボードを使用していることを知った後、テーブル全体のカスタム背景を作成する簡単な方法があります:

1) ストーリーボードに TableViewController を作成します

2) UIView をドラッグします。

UIView

3) UIView をテーブル ビューのヘッダーにドロップします。

ビューをtableViewヘッダーにドロップする

4) これで、サイズ変更、色の変更、UILabel などの追加ができるヘッダーのビューができました...:

ヘッダー付きのTableView ラベル付きヘッダー

于 2012-05-06T08:54:13.133 に答える
0

tablviewheader のカスタマイズには、tablview デリゲート メソッドを使用します。私はここにそれを使用するいくつかのコードを示します...

 -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
  {

    UIView *headerView = [[UIView alloc] init];
    UIImageView *tempimage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 300,34)];// you can also use image view to show your required color.
    tempimage.image = [UIImage imageNamed:@"yourimage.png"];
    [headerView addSubview:tempimage];
    [headerView addSubview:headername];
    return  headerView;

  }

うまくいけば、これはあなたを助けるでしょう..

于 2012-05-06T02:54:22.693 に答える