iOS开发 UITableViewCell的背景改变问题
2013-04-17 11:35
411 查看
前几天开发时忽然遇到一个很奇怪的问题,发现UITableView,在通过在cellForRowAtIndex代理中,
使用 [cell setBackgroundColor:]; 居然无法改变cell的背景色。貌似是tableview本身,对cell产生了一些影响。之前一些其他项目中也有用过此方法,但是可以更改背景,因此这问题的出现情况有点费解。
产生原因不明,直接上解决方案
解决方案有两个:
方法1.)仍然在cellForRowAtIndex这代理方法内,改为使用 [cell.contentView setBackgroundColor:]; 可以实现背景更改,但是要注意范围仅限于contentView,会被编辑cell时进行缩进。如果想更改整个的背景,不会受编辑或删除cell时的缩进影响,请使用方法2。
另外,如果在cell中有重写drawRect方法的,请使用方法2,否则contentView的背景色会遮盖手动绘制的内容。
方法2.)在tableView的willDisplayCell代理方法对cell.backgroudColor进行设置
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row%2==0) {
cell.backgroundColor=[UIColor grayColor];
}else{
cell.backgroundColor=[UIColor whiteColor];
}
}
使用 [cell setBackgroundColor:]; 居然无法改变cell的背景色。貌似是tableview本身,对cell产生了一些影响。之前一些其他项目中也有用过此方法,但是可以更改背景,因此这问题的出现情况有点费解。
产生原因不明,直接上解决方案
解决方案有两个:
方法1.)仍然在cellForRowAtIndex这代理方法内,改为使用 [cell.contentView setBackgroundColor:]; 可以实现背景更改,但是要注意范围仅限于contentView,会被编辑cell时进行缩进。如果想更改整个的背景,不会受编辑或删除cell时的缩进影响,请使用方法2。
另外,如果在cell中有重写drawRect方法的,请使用方法2,否则contentView的背景色会遮盖手动绘制的内容。
方法2.)在tableView的willDisplayCell代理方法对cell.backgroudColor进行设置
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row%2==0) {
cell.backgroundColor=[UIColor grayColor];
}else{
cell.backgroundColor=[UIColor whiteColor];
}
}
相关文章推荐
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- iOS开发UI篇—UITableviewcell的性能问题
- iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
- ios UITableViewCell 左滑删除时,改变删除按钮背景颜色
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片 分类: ios技术 2015-04-16 15:49 233人阅读 评论(0) 收藏
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- iOS开发笔记--关于设置UIView的背景为图片的方法以及问题
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!【2011年12月18日补充】
- iOS: UITableViewCell点击效果下, 防止子控件背景颜色改变
- iOS开发问题——UISearchBar背景颜色去除问题
- iOS开发UI篇—UITableviewcell的性能问题
- IOS开发问题解决之UIAlertView调用UIActionSheet后灰色背景一直存在
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)及禁止自动锁屏问题! 推荐
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!【2011年12月18日补充】
- iOS开发中UITableViewCell选中无效问题
- iOS开发解决UITableViewCell和添加侧滑手势冲突的问题