3

在ios7中使用情节提要,内容视图在情节提要编辑器中的表格视图单元下显式查看(与以前的版本相反,它从界面中隐藏)。

问题是我无法再将单元格的自定义元素连接到我的自定义单元格的 ib 插座(的子类UITableCellView),只能将它们连接到UIView无法自定义的表格内容视图()(即其自定义类属性为灰色)

这让我可以选择使用我觉得不方便且不太优雅的标签。

我还可以在 xib 中创建一个自定义视图,完成所有连接,然后手动将此自定义视图添加为表格的内容视图,但我正在寻找一种通过故事板编辑器进行操作的方法。

有没有办法在 ios7 的故事板编辑器中将 UI 元素连接到自定义单元格的内容视图?

4

5 回答 5

16

好的,我发现了一个 Xcode 错误。

如果您完成以下操作,这将重现该问题:
- 在情节提要中创建新的 UIViewController
- 将 UITableView 拖到 VC
- 更新 UITableview 以拥有 1 个(尽可能多的)动态原型单元
问题:已添加单元但没有 contentView。

解决方案:而不是更新情节提要中的单元格数量。从 Xcode 的对象部分拖动一个自定义单元格,该单元格将添加一个 contentView。

于 2013-10-10T17:02:20.333 回答
5

我能够通过执行以下操作来做到这一点:

  1. 选择文档大纲中的单元格
  2. 在 Identity Inspector 中更改其自定义类
  3. 将您想要的任何元素放入内容视图
  4. 使用 Connections Inspector 将 IBOutlets 连接到内容视图中的元素
于 2013-10-10T21:15:54.840 回答
1

我真的不知道答案,但我可以建议解决这个问题:

1)将现有单元格从其他表格视图复制到您正在处理的单元格。

2)您现在将在您的单元格下拥有 contentView 。通过添加您的视图来设计此单元格。

3)为你的cell创建一个类,例如NewCell,然后在这个类中手动创建IBOutlet:

@property (nonatomic, strong) IBOutlet UILabel* mainLabel;

4)将故事板中的单元格类分配给您刚刚创建的类。在这一步之后,您可以将出口从故事板拖到班级。

我不确定这是 XCode 5 的错误还是有意为之,我也在寻找更好的解决方案。

于 2013-10-10T08:45:22.143 回答
0

使用 xib 接口创建新的 uiviewcontroller 并添加所需的子视图。此外,建立 iboutlet 连接。

现在,将新创建的视图控制器的 .h 文件中的 viewcontroller : UIViewcontroller 重命名为 viewcontroller : UITableviewcell 。

您的 tableviewcell 已创建并准备好与任何类的任何 UITableview 一起使用。

希望能帮助到你。

于 2013-10-14T10:51:22.650 回答
0

我可能会重复其他人的答案,但我发现这个解决方法有助于绕过这个愚蠢的 XCode 错误。简短的解决方案:当您在 Storyboard 中构建自定义单元格时,请勿将 UI 元素拖到单元格或内容视图中。

相反,将它们拖到 OUTSIDE 以便它们成为父表视图的子元素!

如果您使用左侧的小层次菜单来确保您的元素在正确的位置结束,那么执行此拖放操作是最简单的。

将元素拖入后,只需按住 Control 单击并从自定义单元格拖动到 UI 元素即可建立连接。呜呼!

设置连接后,(最后)将 UI 元素拖回自定义单元格的内容视图中,并像往常一样布置它们。

更新:虽然我的方法有效,但请在下面的答案中查找 thomasdao 的评论,他只是将连接直接拖到 .h 文件中(您声明 IBOutlets 的左边距中的小圆圈)——这实际上是最简单的解决方案,但不幸的是它作为评论被卡住了。

于 2013-10-31T02:01:06.613 回答