我试图改变填充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。
答案 0 :(得分:1)
由于单元格缓存,您应该在委托方法中更改背景颜色:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
}
cell.backgroundColor将在此方法中正确显示。
答案 1 :(得分:0)
看起来您正在尝试从笔尖加载单元格,但实际上从未将笔尖设置为MyCell
尝试更改为:
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
}
答案 2 :(得分:0)
假设您的单元格正在加载,并且只有背景颜色没有变化,我认为您的自定义单元格MyCell中的其他元素正在覆盖单元格背景视图。
尝试将单元格中所有其他元素的bacgroundcolor设置为红色/黄色,并查看是否有任何cell.Background visibile。
btw:为什么不在自定义单元格中设置背景颜色?