静态单元格在 iPhone 上有背景颜色,但在 iPad 上没有 - 找不到原因
Static cell has background color on iPhone, but not on iPad - can not find the reason
在一个 iOS 8 具有故事板和自适应布局(又名大小 类)的项目中,我在 2 个场景中使用了静态单元格 -
并且由于某种原因,iPad 上没有显示顶部单元格的蓝色背景颜色:
请问这是什么原因?
我什至用调试器(逐步通过 viewDidLoad)和 XML-Main.storyboard 的代码进行了搜索 - 但找不到原因。
我也重置了模拟器设置,并尝试了 Yosemite 和我拥有的 Mavericks mac。
这是我的情节提要(请 click for fullscreen),我在其中设置了背景颜色(对于 wAny 和 hAny):
在预览中(此处 fullscreen)背景色在 iPad 和 iPhone 中都存在:
如果我在这里做错了什么,如何找到并重置它?
更新:
我已经尝试了 DCGoD 的建议(谢谢)- 并且有效。当我尝试使用以下代码设置单元格背景颜色时,它起作用了(此处 fullscreen):
#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;
}
据我所知,我可以将其用作解决方法...
但我仍然很好奇我的故事板出了什么问题。为什么它适用于 iPhone,而不适用于 iPad?我更愿意使用纯 "visual" 解决方案(使故事板更易于编辑)。
解决方案:
由于某些奇怪的原因,解决方法是设置 "Content View" 的背景颜色(而不是为其父项 - "Table View Cell"。此处 fullscreen):
尝试更改单元格的背景,然后更改它的 contentViews 背景,您会发现发生了什么。
cell.contentView.backgroundColor = YOURCOLOR
// 对于静态尝试在 willDisplayCell
中设置它
func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!) {
cell.contentView.backgroundColor = YOURCOLOR
}
在一个 iOS 8 具有故事板和自适应布局(又名大小 类)的项目中,我在 2 个场景中使用了静态单元格 -
并且由于某种原因,iPad 上没有显示顶部单元格的蓝色背景颜色:
请问这是什么原因?
我什至用调试器(逐步通过 viewDidLoad)和 XML-Main.storyboard 的代码进行了搜索 - 但找不到原因。
我也重置了模拟器设置,并尝试了 Yosemite 和我拥有的 Mavericks mac。
这是我的情节提要(请 click for fullscreen),我在其中设置了背景颜色(对于 wAny 和 hAny):
在预览中(此处 fullscreen)背景色在 iPad 和 iPhone 中都存在:
如果我在这里做错了什么,如何找到并重置它?
更新:
我已经尝试了 DCGoD 的建议(谢谢)- 并且有效。当我尝试使用以下代码设置单元格背景颜色时,它起作用了(此处 fullscreen):
#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;
}
据我所知,我可以将其用作解决方法...
但我仍然很好奇我的故事板出了什么问题。为什么它适用于 iPhone,而不适用于 iPad?我更愿意使用纯 "visual" 解决方案(使故事板更易于编辑)。
解决方案:
由于某些奇怪的原因,解决方法是设置 "Content View" 的背景颜色(而不是为其父项 - "Table View Cell"。此处 fullscreen):
尝试更改单元格的背景,然后更改它的 contentViews 背景,您会发现发生了什么。
cell.contentView.backgroundColor = YOURCOLOR
// 对于静态尝试在 willDisplayCell
中设置它func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!) {
cell.contentView.backgroundColor = YOURCOLOR
}