每当我在我的uitaiteViewCell中添加辅助视图时,它都不会带有背景颜色?我将UISWitch设置为我的配件,并且在Cell.BackgroundColor属性中设置的颜色仅影响ContentView,而不是cockestoryView。我已经尝试了所有内容,以将它们设置为相同的值。我试图将Cell.BackgroundView.BackgroundColor和Cell.AccessoryView.BackgroundColor属性设置为我想要的颜色,但什么都没有。我还尝试在ContentView内部创建一个子视图,该子视图解决了背景彩色问题(通过避免),但它会创建问题,其中开关位于单元格的顶部。当文本太长时TextLabel。

我是否可以在不创建ContentView中创建子视图的情况下修改附件的背景颜色,或更改单元格的长度。TextLabel而不为uitableviewcell进行划分?

有帮助吗?

解决方案

阅读文档(一个新颖的想法)后,我找到了文章,”仔细观察桌面视频单元格“。它帮助我了解了细胞的组成,我找到了答案...

细胞看起来像这样...

alt text

由于Cell.AccessoryView是cell的姐妹视图。CONTENTVIEW,我必须询问Cell.ContentView的Supperiew,然后我能够一次更改两个视图的背景颜色。这是代码的样子...

// Cell Formatting
cell.contentView.superview.backgroundColor = [UIColor greenColor];

我知道这真的很简单,但是我是一个新手,我花了很长时间才放慢脚步并阅读文档。希望这对其他一些人有帮助!

其他提示

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.backgroundColor = [UIColor yellowColor];
}
 UIView *myView = [[UIView alloc] initWithFrame:cell.frame];
 myView.backgroundColor = [UIColor colorWithRed:214.00/255.00 green:233.00/255.00 blue:247.00/255.00 alpha:1.0];
 cell.backgroundView = myView;
 [myView release];

如果要将附件视图背景颜色与单元格的背景颜色混合在一起,则在ios8中,Swift在表观视图中像魅力一样工作(_,cellforrowataTindExpath :)方法:

let color = cell.contentView.backgroundColor
cell.backgroundColor = color

@zak,首先感谢您引起我的注意细胞布局的细节。很有帮助!
我只想指出以下代码:

self.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"cell_background.png"]];

为我工作。结果是在整个单元格上伸展的背景图像。 辅助typeview 没有掩盖!重要的部分是将此代码放入 layoutsubviews 定制单元类的方法,而不是进入 CellForrowatIndExpath 在TableViewController类中找到。就我而言,我定义了一个类Customcell,在其中定义了标签,图像视图等。

注意:以下代码无法正常工作:

cell.contentView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"cell_background.png"]];

放在里面时 tableview :( uitaiteView *)tableview cellforrowatIndExpat 方法。它给了我覆盖小区的背景,但辅助typeview在上面...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top