Ale*_*ber 6 xcode interface-builder ipad ios adaptive-layout
在具有故事板和自适应布局(又称大小类)的iOS 8项目中,我在2个场景中使用静态单元格 -
由于某些原因,顶部单元格的蓝色背景颜色未在iPad上显示:

请问,原因可能是什么?
我甚至用调试器(逐步通过viewDidLoad)和Main.storyboard的XML代码进行搜索 - 并且找不到原因.
我也重置了模拟器设置,并尝试了我拥有的Yosemite和Mavericks mac.
这是我的故事板(请点击全屏)我设置背景颜色(对于wAny和hAny):

在预览(此处为全屏)中,iPad和iPhone均显示背景颜色:

如果我在这里做错了什么,如何找到并重置它?
更新:
我尝试过DCGoD的建议(谢谢) - 它确实有效.当我尝试使用以下代码设置单元格背景颜色时,它可以工作(这里是全屏):

#define THEME_COLOR_BLUE [UIColor colorWithRed:19.0/255 green:175.0/255 blue:207.0/255 alpha:1.0]
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.contentView.backgroundColor = THEME_COLOR_BLUE;
}
Run Code Online (Sandbox Code Playgroud)
我明白,我可以用它作为一种解决方法......
但我仍然好奇我的故事板出了什么问题.为什么它适用于iPhone,而不适用于iPad?我更喜欢使用纯粹的"视觉"解决方案(使故事板更容易编辑).
解:
由于一些奇怪的原因,修复是设置"内容视图"的背景颜色(而不是其父级 - "表视图单元格".这里全屏):

尝试更改单元格的背景,然后更改其 contentViews 背景,您会发现发生了什么。
cell.contentView.backgroundColor = YOURCOLOR
Run Code Online (Sandbox Code Playgroud)
// 对于静态尝试在 willDisplayCell 中设置它
func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!) {
cell.contentView.backgroundColor = YOURCOLOR
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
684 次 |
| 最近记录: |