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

尝试更改为:

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

假设您的单元格正在加载,并且只有背景颜色没有改变,我认为您的自定义单元格 MyCell 中的其他元素正在覆盖单元格背景视图。

尝试将单元格中所有其他元素的背景颜色设置为红色/黄色,并查看是否有任何单元格。背景可见。

顺便说一句:为什么不在自定义单元格中设置背景颜色?

于 2012-06-27T19:17:42.943 回答