在我的故事板中,我将表视图控制器的背景颜色设置为“默认”设置,在界面构建器中显示为白色。但是,当我运行应用程序时,表视图控制器的背景颜色为黑色。
答案 0 :(得分:1)
这似乎是Apple代码中的一个错误。
重现的步骤:
如果查看xml文件,您会看到一些有趣的内容。将全新的表格视图控制器拖放到故事板上将显示在故事板中选择的“[白色]默认”选项,但xml将具有背景颜色条目:<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
。这很奇怪,因为通常当某些东西设置为默认值时,它将从xml文件中排除。
在Interface Builder中,如果再次重新选择“[white] Default”选项,您会注意到透明视图背后的背景颜色(例如节标题)似乎会略有变化。这是因为即使“[white] Default”选项显示为已选中,它实际上已删除了xml文件中的<color>
条目。通常,这应该选择视图的默认背景颜色。在这种情况下,它选择黑色。 Interface Builder UI现在不再与xml文件同步。
在Interface Builder中,如果您现在选择“[白色]白色”选项,界面将显示“[白色]默认值”,一切都将恢复到最初删除表视图控制器时的状态故事板。
这意味着当黑色和白色是所选选项时,Interface Builder会显示“[white] Default”。知道选择哪个的唯一方法是在运行时,或者注意Interface Builder中透明视图的细微差别。
因此,为了解决这个问题,请不要在背景颜色设置中选择“[白色]默认”选项,选择“[白色]白色”选项。
选择此项:
...将显示:
...但是表格视图将如下所示:(越野行为)
另一方面,选择这个:
...将显示:
...并且表格视图将如下所示:(正确行为)
答案 1 :(得分:0)
要更改背景颜色,请尝试取出backgroundView属性,然后在所需的表视图上设置backgroundColor。
尝试使用它:
[self.tableView setBackgroundView:nil];
[self.tableView setBackgroundColor:[UIColor whiteColor]];
希望这可以帮到你。
答案 2 :(得分:0)
我在 xcode-7-beta 中遇到了同样的问题,并且唯一的&#34;解决方法&#34;我发现将TableView样式从Plain
切换到Grouped
。