首页 > 解决方案 > 在 UITableView 中使用动态原型是否会阻止使用 Storyboard 来布置单元格 UI?

问题描述

我在这里有点困惑。我有一个带有 UITableView 的视图控制器,并且我正在使用自定义 UITableViewCell 类。

我的理解是,使用动态原型和自定义类可以让我以编程方式控制单元格。这有它的用途,但我也可以看到使用 Storyboard 来布置 UI 的优势。

但是,我注意到我在单元格内的情节提要中创建的任何内容都没有显示出来。我可以创建并将故事板中的 IBOutlets/IBActions 连接到 UITableViewCell.swift 类,但它们实际上似乎不起作用/显示。表格视图最终会显示自定义 UITableViewCell.swift 类中的内容,并忽略添加到单元格视图 Storyboard 中的任何内容。

所以我的问题是:我可以同时使用两者,还是必须坚持使用其中一个?

标签: iosuitableview

解决方案


在 Storyboard 中将您的单元设计为原型,然后在您的单元类中包含代码以动态配置/自定义它是很常见的。所以,这不是问题。

最有可能的是,您在开始时错过了一些不完全清楚的东西......

如果你的单元类没有连接到 Storyboard Prototype 单元,你必须注册它:

tableView.register(MyCustomCell.self, forCellReuseIdentifier: "customCell")

但是,如果您的单元格类已连接到 Storyboard Prototype 单元格,不能这样做......当它从 Storyboard 实例化时,它将被注册为可重用。

因此,如果您有该行(可能在您的viewDidLoad())中,请将其删除,您应该会看到带有 Storyboard UI 元素的单元格。


推荐阅读