0

UITableView cell.backgroundColor=[UIColor blueColor]; に入力するセルの色を変更しようとしています。ただし、セルではまだ黒のままです。

 -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {

if (tofriend) {

    if (indexPath.section==0){


        static NSString *CellIdentifier;
        CellIdentifier= @"MyCell";


        MyCell *cell =(MytCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


        if (!cell) {
            [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil];                 cell = myCell;


        }
        cell.backgroundColor=[UIColor blueColor];

わかりました、それは cell.contentView.backgroundColor です。

4

3 に答える 3

1

セルキャッシュのため、デリゲートメソッドで背景色を変更する必要があります。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
}

cell.backgroundColorは、このメソッドで正しく表示されます。

于 2012-12-03T14:01:37.237 に答える
0

セルが読み込まれていて、背景色だけが変化していないと仮定すると、カスタムセル MyCell の他の要素がセルの背景ビューを覆っていると思います。

セル内の他のすべての要素の bacgroundcolor を赤/黄色に設定してみて、cell.Background が表示されているかどうかを確認してください。

ところで: カスタム セルに背景色を設定してみませんか?

于 2012-06-27T19:17:42.943 に答える
0

ペン先からセルをロードしようとしているように見えますが、実際にペン先を設定していませんMyCell

これに変更してみてください:

   if (!cell) {
       cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
   }
于 2012-06-27T19:08:18.683 に答える