如何将子视图添加到情节提要中的自定义 UITableViewCell

Posted

技术标签:

【中文标题】如何将子视图添加到情节提要中的自定义 UITableViewCell【英文标题】:How to add subviews to a custom UITableViewCell in a storyboard 【发布时间】:2013-10-17 18:51:19 【问题描述】:

在 Xcode 4 中,您曾经能够将子视图添加到情节提要中动态 UITableViewCell 原型的 contentView。我似乎不再能够做到这一点——当我将任何视图拖到表格视图单元格时,它不允许我将其添加到单元格中,只能添加到父表格视图中。有没有一种我还不知道的新方法?

【问题讨论】:

【参考方案1】:

这是 Xcode 5 的错误。

在没有内容视图的情况下创建的单元格。 在我的情况下,我添加了一个原型单元格并删除了以前的单元格,在新的单元格内容视图中存在。

【讨论】:

【参考方案2】:

在 Xcode 5 中仍然可以。

我认为您不能这样做的原因是您缺少单元格的 contentView。可能是您不小心删除了它,或者 XIB 或 Storyboard 以某种方式损坏了。

通常,您的表格视图控制器层次结构应如下所示。然后,您可以将您的子视图添加到 contentView。

如果是我和你仍然处于开发的早期阶段,我会重新创建它,或者将单元格拆分为它们自己的 XIB(这也具有使它们可在其他视图控制器中重用的良好副作用)

【讨论】:

我的问题是我通过更改表格视图属性检查器中的数字而不是从对象库中拖入表格视图单元格来增加原型单元格的数量。 杰米,你太棒了。谢谢。【参考方案3】:

在 Xcode 5 故事板中,如果您通过选择 UITableView 并单击 属性检查器中的原型单元计数选项来添加 原型单元,那么将第一次在没有 Content View 的情况下创建 Prototype cell

解决这个问题的方法是创建两个Prototype Cells并删除第一个将Table View Cell从Object Library拖放到你的UITableView中。在这两种情况下,您都将拥有带有 Content ViewTableViewCell

【讨论】:

【参考方案4】:

我的UITableViewCell 出现 contentView,我仍然无法将IBOutlets 连接到子视图。我最终删除了父 UITableViewUITableViewCell Prototype 以及所有相关的子视图。然后我重新添加了所有内容,IBOutlet-connection 拖动神奇地起作用。我认为这是一个 Xcode 错误,源于将控制器和/或子视图复制粘贴到情节提要中和/或在检查器中手动添加原型单元。

【讨论】:

在我看来,您未能继承 UITableViewCell

以上是关于如何将子视图添加到情节提要中的自定义 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

如何从情节提要中的自定义视图制作@IBAction?

何时将子视图从情节提要添加到超级视图?

在 xcode 中的自定义视图中给出高度后刷新情节提要视图控制器

以编程方式将 UIButton 添加到带有情节提要的自定义 ViewController

UITableView 原型单元上的自定义附件视图未触发

如何编辑添加到情节提要中的场景停靠点的浮动视图?