Zak*_*Zak 26 iphone uitableview accessoryview
每当我将一个accessoryView添加到我的UITableViewCell时,它都没有背景颜色?我正在设置一个UISwitch作为我的accessoryView,我在cell.backgroundColor属性中设置的颜色只影响contentView而不影响accessoryView.我已经尝试了一切将它们设置为相同的值.我试图将cell.backgroundView.backgroundColor和cell.accessoryView.backgroundColor属性设置为我想要的颜色,但没有任何工作.我还尝试在contentView中创建一个子视图,它解决了backgroundColor问题(通过避免它),但它产生了问题,当文本太长时,开关位于cell.textLabel的顶部.
有没有办法在不在contentView中创建子视图的情况下修改accessoryView的背景颜色,或者在没有子类化UITableViewCell的情况下改变cell.textLabel的长度?
Zak*_*Zak 57
在阅读文档(一个新颖的想法)后,我发现了一篇文章" 仔细研究表视图细胞 ".它帮助我了解细胞的组成,我找到了答案......
细胞看起来像这样......

由于cell.accessoryView是cell.contentView的姐妹视图,我不得不向cell.contentView询问其superview,然后我能够一次更改两个视图的背景颜色.这是代码的样子......
// Cell Formatting
cell.contentView.superview.backgroundColor = [UIColor greenColor];
Run Code Online (Sandbox Code Playgroud)
我知道这很简单,但我是一个新手,我花了很长时间才放慢速度并阅读文档.希望,这有助于其他一些人!
小智 44
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor yellowColor];
}
Run Code Online (Sandbox Code Playgroud)
Ada*_*V C 15
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];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19170 次 |
| 最近记录: |