修改UITableViewStyleGrouped形式的tableview的背景色 此博文包含图片 (2013-09-10 11:11:57)转载▼ 分类: IOS笔记 在使用UITable
2017-02-15 10:59
639 查看
在使用UITableViewStylePlain形式的tableview时,很容易就修改了背景色,而在使用UITableViewStyleGrouped形式的tableview时,怎么都修改不了背景色。原因:
在iOS6中,对于 UITableViewStyleGrouped类型的UITableView,通过直接修改继承自UIView的backgroundColor属性的方法来设置UITableView的背景色无效。
比如,在AppDelegate中设置窗口的颜色为淡黄色
[/code]
在一个UIViewController的viewDidLoad方法中增加一个UITableView,设置其backgroundColor为透明色。
[/code]
那么在iOS5及之前版本的模拟器上,运行的效果如下:
因为UITableView的背景色设为了[UIColor clearColor],所以tableView的背景色为UIWindow的颜色。
但是在iOS6模拟器和运行iOS6设备上的显示效果如下:
此时UITableView的背景色为默认的灰色,我们通过backgroundColor设置的背景色无效。
这个问题只在UITableViewStyleGrouped类型的UITableView中出现,UITableViewStylePlain类型的tableView没有这个问题,因为Group类型的TableView有个backgroundView,而plain类型的TableView没有(backgroundView属性为nil),目前看来,这可能因为backgroundView在中间挡住了背景色,这是否iOS6的bug还待确认。关于backgroundView,还可以参考下这里iPad
Table backgroundView。
目前对于这个问题的解决方法是将Group类型的tableView的backgroundView设为一个新的空白View或简单的设置为nil.如下
[/code]
或
在iOS6中,对于 UITableViewStyleGrouped类型的UITableView,通过直接修改继承自UIView的backgroundColor属性的方法来设置UITableView的背景色无效。
比如,在AppDelegate中设置窗口的颜色为淡黄色
self.window.backgroundColor = [UIColor colorWithRed:1.00f green:0.91f blue:0.82f alpha:1.00f];
[/code]
在一个UIViewController的viewDidLoad方法中增加一个UITableView,设置其backgroundColor为透明色。
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style: UITableViewStyleGrouped]; tableView.dataSource = self; tableView.delegate = self; tableView.backgroundColor = [UIColor clearColor]; [self.view addSubview:tableView];
[/code]
那么在iOS5及之前版本的模拟器上,运行的效果如下:
因为UITableView的背景色设为了[UIColor clearColor],所以tableView的背景色为UIWindow的颜色。
但是在iOS6模拟器和运行iOS6设备上的显示效果如下:
此时UITableView的背景色为默认的灰色,我们通过backgroundColor设置的背景色无效。
这个问题只在UITableViewStyleGrouped类型的UITableView中出现,UITableViewStylePlain类型的tableView没有这个问题,因为Group类型的TableView有个backgroundView,而plain类型的TableView没有(backgroundView属性为nil),目前看来,这可能因为backgroundView在中间挡住了背景色,这是否iOS6的bug还待确认。关于backgroundView,还可以参考下这里iPad
Table backgroundView。
目前对于这个问题的解决方法是将Group类型的tableView的backgroundView设为一个新的空白View或简单的设置为nil.如下
tableView.backgroundView = [[UIView alloc]init]; tableView.backgroundColor = [UIColor clearColor];
[/code]
或
tableView.backgroundView = nil; tableView.backgroundColor = [UIColor clearColor];
相关文章推荐
- 修改UITableViewStyleGrouped形式的tableview的背景色
- 修改UITableViewStyleGrouped形式的tableview的背景色
- 【IOS开发】UITableViewStyleGrouped类型的UITableView的背景色设置
- iOS开发笔记之四十四——UITableView的UITableViewStyleGrouped风格顶部空白的设置
- iOS开发笔记之三十二——UITableView的UITableViewStyleGrouped风格顶部空白的设置
- iOS学习笔记—— UItableView 控件的简单使用
- iOS学习笔记13— UITableView封装之下拉-上提-图片异步加载
- iOS学习之分段Table View的使用(Grouped样式表格)
- iOS学习之分段Table View的使用(Grouped样式表格)
- 解决iOS7中,tableView设置UITableViewStyleGrouped后的section之间空余问题
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 此博文包含图片 (2011-01-20 13:50:37)转载▼ 标签: it 分类: 技术 早上同事用PL/SQ
- iOS学习之分段Table View的使用(Grouped样式表格)
- IOS学习笔记(十)之UIImageView图片视图的基本概念和使用方法
- How can I set the background of UITableView (the tableview style is "Grouped") to use an image?
- IOS TableView远程图片加载笔记
- iOS学习之分段Table View的使用(Grouped样式表格)
- 解决iOS7中,tableView设置UITableViewStyleGrouped后的section之间空余问题
- iOS开发笔记--TableView的详细使用
- iOS学习之分段Table View的使用(Grouped样式表格)
- iOS开发笔记--异步加载图片在TableView中的应用