yan*_*nis 9 uitableview ios ios5
我有一个自定义分组的UITableViewCell,上面有几个UILabel.由于UITableViewCell背景颜色曾经是纯白色,因此它与UILabels的默认背景颜色相匹配,因此UILabel框不可见.
更新到iOS 5.0后,我注意到,现在分组UITableViewCells默认的背景色是一种更灰白色(实际上#f7f7f7),以及作为结果的UILabels'框架丑陋的方式是可见的..
那么,当需要在不同的iOS版本之间变化时,设置UILabels背景颜色的最佳方法是什么?我知道我可以使用opaque = NO和[UIColor clearColor],但出于性能原因,我更愿意绘制UILabels的背景.
在委托方法中tableView:willDisplayCell:,UITableViewCell会将背景颜色设置为白色,或者在 iOS 5 中设置为灰色。
您可以更改所有子backgroundColor视图。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
for (UIView* view in cell.contentView.subviews) {
view.backgroundColor = cell.backgroundColor;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |