如何在Storyboard控制器中重用自定义的UITableViewCell作为原型单元格

4
我有两个不同的UITableViewControllers/TableViews需要使用相同的cell模板。 我所需要做的是定义一次并在其他UITableView中重复使用。
UITableView.DequeueReusableCell(CellId);

问题在于当我在不包含单元格原型的UITableView上调用此方法时,会得到NULL。
如何在多个表控制器之间重用我的原型单元格? 我想在故事板中定义单元格模板,而不是在xib中。
3个回答

4

事实证明,重复使用单元格的唯一方法是使用 xib 设计它,并在 tableview 中注册具有 cellid 的 xib。


我更喜欢使用xib来制作可重用的tableview cell,因为在大多数情况下这是一个很好的解决方案。 - Pramod More

0

只需复制并粘贴您的原型单元格到每个需要它的表视图控制器中。

如果我正确理解了您的问题,标准且适当的方式是无法从另一个表视图中出列单元格的,Apple 的实现会自行处理此机制。


那么我的唯一选择就是将其设计为单独的XIB吗? - Mando
1
不必如此,您可以直接在故事板文件中完成。拖动一个单元格原型,将其实例化为您的自定义类,并从右下菜单中添加一些元素作为子视图。 - sweepy_
1
我是一款专业的翻译引擎,请将以下与编程相关的内容从英文翻译成中文。请仅返回翻译后的文本,不要进行解释。 - Mando
不,我不知道其他的方法。实际上,这非常有用:对于相同类型的单元格,在不改变一行代码的情况下,您可以在一个控制器到另一个控制器中以另一种方式排列元素。 - sweepy_

0

在整个应用程序中,如果单元格设计是固定的,则使用xib作为可重用单元格是有益的。但是,当存在条件要求或设计或功能上的轻微更改,并且剩余的设计和功能对于tableview单元格仍然相同时,在这种情况下,如果您仍然想要重用代码,则可以子类化tableview单元格类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接