UITableView backgroundColor在iPad上始终为灰色

当我为我的UITableView设置backgroundColor ,它在iPhone(设备和模拟器)上工作正常,但不在iPad模拟器上。 相反,我为包含groupTableViewBackgroundColor任何颜色设置了浅灰色背景。

重现步骤:

  • 创建一个新的基于导航的项目。
  • 打开RootViewController.xib并将表格视图样式设置为“分组”。
  • 将此响应者添加到RootViewController中:

    - (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blackColor];
    }
  • 选择模拟器SDK 3.2,编译并运行。
  • 你会得到一个黑色背景(设备和模拟器)。
  • 在项目树中选择你的目标。
  • 点击项目:升级iPad的当前目标。
  • 构建并运行。
  • 你会得到一个浅灰色的背景。
  • 将表格视图样式恢复为普通,并且您将获得黑色背景。
  • 谢谢你的帮助!


    尝试其中之一。

    [myTableView setBackgroundView:nil];
    [myTableView setBackgroundView:[[[UIView alloc] init] autorelease]];
    

    非常感谢这个解决方案。 我在UIViewController中将它应用于UITableView属性和IBOutlet,它的工作原理如下:

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

    在iPad上, backgroundView属性似乎用于为分组表创建灰色背景颜色。 所以为了改变iPad上分组表格的背景颜色,应该nil backgroundView属性,然后在所需的表格视图上设置backgroundColor

    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        // If you need to support iOS < 3.2, check for the availability of the
        // backgroundView property.
        if ([self.tableView respondsToSelector:@selector(setBackgroundView:)]) {
            self.tableView.backgroundView = nil;
        }
        self.tableView.backgroundColor = [UIColor whiteColor];
    }
    
    链接地址: http://www.djcxy.com/p/95697.html

    上一篇: UITableView backgroundColor always gray on iPad

    下一篇: Change database dynamically in SQL Server using a stored procedure