Ios 更改UITableView的单元格颜色
我正在尝试更改填充UITableView单元格的单元格的颜色;但它仍然是黑色的细胞Ios 更改UITableView的单元格颜色,ios,uitableview,Ios,Uitableview,我正在尝试更改填充UITableView单元格的单元格的颜色;但它仍然是黑色的细胞 -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath { if (tofriend) { if (indexPath.section==0){ static NSString *CellIdentifier; CellId
-(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。看起来您试图从nib加载单元格,但实际上从未将nib设置为
MyCell
尝试更改为:
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
}
假设您的单元格正在加载,并且只有背景颜色没有改变,我认为自定义单元格MyCell中的其他元素正在覆盖单元格背景视图 尝试将单元格中所有其他元素的背景色设置为红色/黄色,然后查看是否存在任何单元格背景可见
顺便说一句:为什么不在自定义单元格中设置背景色?由于单元格缓存,您应该在委托方法中更改背景色:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
}
cell.backgroundColor将在此方法中正确显示。无法,cell=因为捆绑包和nib输出的是NSArray而不是cell。我的代码有效。不用担心,我可以将自定义单元格加载到表中。我只想知道如何更改tableview的行颜色。请注意,我在末尾添加了
objectAtIndex:0
。这将加载笔尖中的第一个视图。您认为它不起作用是什么意思?您是否尝试将标签内的其他视图设置为“清除颜色”或其他颜色(红色/黄色,因为它与蓝色形成对比)?是否有可能卸载单元缓存?重新加载不会清除单元格缓存。