我正在尝试在我的应用程序中使用 storyboards。应用程序中有列表(Lists)和用户(Users),每个都包含另一个的集合(列表成员,由用户拥有的列表),因此,我有ListCell
和UserCell
类。目标是使它们在整个应用程序中可重复使用(即在任何表视图控制器中)。
这就是我遇到问题的地方。
如何在 storyboard 中创建自定义表视图单元格以便在任何视图控制器中重复使用?
以下是我迄今为止尝试过的具体方法。
在控制器 #1 中,添加了原型单元格,将类设置为我的
UITableViewCell
子类,设置重用ID,添加标签并将其连接到类的输出口。在控制器 #2 中,添加了一个空的原型单元格,将其设置为与之前相同的类和重用 ID。运行时,在控制器 #2 中显示单元格时标签从未出现。在控制器 #1 中工作正常。在不同的 NIB 中设计了每种单元格类型并连接到适当的单元格类。在 storyboard 中,添加了一个空的原型单元格,并将其类和重用 ID 设置为引用我的单元格类。在控制器的
viewDidLoad
方法中,为重用 ID 注册那些 NIB 文件。当显示时,两个控制器中的单元格都是空的,就像原型一样。将原型保留为空,在两个控制器中设置类和重用 ID 为我的单元格类。完全使用代码构建单元格的 UI。单元格在所有控制器中都可以正常工作。
在第二种情况下,我怀疑原型始终会覆盖 NIB,如果我杀死原型单元格,为重用 ID 注册我的 NIB 将起作用。但这样我就无法从单元格设置转场到其他框架,这确实是使用 storyboards 的整个意义所在。
说到底,我想要两件事情:在故事板中连接表视图流程,并可视化地定义单元格布局,而不是在代码中编写。到目前为止,我不知道如何同时实现这两个目标。