微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分组的UITableView在iPad上的背景问题

最近在项目中使用了UITableView的分组功能,并且设置了UITableView的背景颜色,在iPhone真机和模拟器上都运行良好。

项目是通用的,用iPad的模拟器一运行,发现UITableView的背景颜色竟然没有改变,无论将背景改成什么颜色,始终都是一个亮灰色的背景。

一开始以为iPad不能设置UITableView的背景颜色,于是尝试将UITableView的背景设置为透明,并将UIView的背景颜色设置为期望的背景颜色,发现还是不行。

于是就google了一下,在StackOverflow上发现了解决办法:

  1. [panelTable setBackgroundView:nil];  
  2. [panelTable setBackgroundView:[[[UIView alloc] init] autorelease]];  
  3. [panelTable setBackgroundColor:UIColor.clearColor]; // Make the table view transparent  

其实上面第三行的方法是不行的,我上面已经想到并试验过。

但第一行和第二行的方法是确实可行的,没想到iPad还有这个差异。

值得注意的是,backgroundView只在SDK3.2及以后才能工作,为了向前兼容3.1.3及更早的版本,你必须自己检测UITableView是不是有backgroundView这个属性代码如下:

if ([self.tableView respondsToSelector:@selector(backgroundView)]) {  
  •     self.tableView.backgroundView = nil;  
  • }  

  • 。。。。。。。。。。。Ipad中选择组时清除背景色的方法,有效了。。。。。。。。。。。。。
        UIView *bgView = [[UIView alloc] init];
        bgView.backgroundColor = [UIColor clearColor];
        self.addContactsTableView.backgroundView = bgView;
        [bgView release];

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐