UITableViewCell 在运行时看起来与在 InterfaceBuilder 中不同(在 iPad 上)

Posted

技术标签:

【中文标题】UITableViewCell 在运行时看起来与在 InterfaceBuilder 中不同(在 iPad 上)【英文标题】:UITableViewCell looks different at runtime than in InterfaceBuilder (on iPad) 【发布时间】:2015-08-25 17:44:52 【问题描述】:

我正在快速开发一个通用应用程序。基础是一个SplitViewController。 tableview 嵌入在 SplitViewController 的详细视图中。我的 UITableViewCells 的背景颜色看起来与预期不同 - 但仅在 iPad 上。我尝试了以下设置:

Storyboard 中的 TableView:

视图的层次结构:

单元格的设置:

内容视图的设置:

这是我的“cellForRowAtIndexPath”代码:

 let tableData = ["Test User 1", Test User 2"]

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

         var cell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell!

         cell.textLabel!.text  = tableData[indexPath.row]
         cell.textLabel?.textColor = UIColor.whiteColor()
         cell.textLabel?.font = UIFont(name: "HelveticaNeue-Light", size: 

         return cell
     

tableview 在模拟器中看起来像这样:

如前所述 - 如果我选择 iPhone 设备作为模拟器,它看起来是正确的。这是来自 iPhone 模拟器的图片:

我不知道为什么它在 iPad 上是白色的而不是 InterfaceBuilder 中定义的深灰色(就像在 iPhone 上一样)?没有“选择”......我总是使用任何/任何作为尺寸类。我在这里挣扎了好几天

我为每一个提示感到高兴。

提前致谢。 丹尼尔

【问题讨论】:

在 iPhone 和 iPad 上运行时发布图片 你确定表格视图在 iPad 上有单元格,也许白色是表格视图本身而不是单元格@myknack 请检查您的 UITableViewCell 背景颜色和单元格 contentView 背景颜色。可能是你离开了这个视图背景颜色 @Lamar 查看更新后的帖子 @AbdAl-rhmanTaherBadary 不幸的是,两者都具有相同的代码(数据源)。我刚刚更改了模拟器设备。正如你在图片上看到的那样,有两行......但背景是白色的:/ 【参考方案1】:

请注意,通常(仍然)Storyboard 中存在错误,即使在 Xcode7 中也是如此,

您必须在代码中设置单元格的背景颜色,这在情节提要中不起作用

class YourCell:UITableViewCell
    
    override func awakeFromNib()
        
        super.awakeFromNib()
        self.backgroundColor = UIColor.clearColor()
        

    

您可能还有另一个问题,但这是一个问题。

【讨论】:

以上是关于UITableViewCell 在运行时看起来与在 InterfaceBuilder 中不同(在 iPad 上)的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 中的 UITextField 在运行时未出现

自动布局 UITableViewCell

向 UITableViewCell 添加约束

集合视图在设备上显示的结果与在模拟器上不同

有没有办法获得与在运行时为 PEFlags 设置编译器标志相同的结果?

分析JDKJREJVMJIT 四者的关系与在代码运行时扮演的角色