在 UITableView 中使用动态原型是否会阻止使用 Storyboard 来布置单元格 UI?
Does using dynamic prototypes in UITableView prevent the use of the Storyboard for laying out cell UI?
我在这里有点困惑。我有一个带有 UITableView 的视图控制器,我正在使用自定义 UITableViewCell class.
我的理解是,使用动态原型和自定义 class 可以让我对单元格进行编程控制。这有它的用处,但我也可以看到使用 Storyboard 进行布局的优势 UI。
但是,我注意到我在单元格内的情节提要中创建的任何内容都没有显示出来。我可以创建情节提要中的 IBOutlets/IBActions 并将其连接到 UITableViewCell.swift class,但实际上它们似乎并不 work/display。 table 视图最终显示自定义 UITableViewCell.swift class 中的内容,并忽略添加到单元格视图 Storyboard 的任何内容。
所以我的问题是:我可以同时使用两者,还是必须坚持使用其中之一?
将 Storyboard 中的单元格设计为原型,然后在单元格中包含代码 class 以动态配置/自定义它是很常见的。所以,这不是问题。
很有可能,您在开始时错过了一些不完全清楚的东西...
如果您的单元 class 未 连接到 Storyboard Prototype 单元,您必须 注册它:
tableView.register(MyCustomCell.self, forCellReuseIdentifier: "customCell")
但是,如果您的单元格 class IS 连接到 Storyboard Prototype 单元格,您 不能 这样做...当它从情节提要中实例化时,它将被注册为可重用。
因此,如果您有该行(可能在您的 viewDidLoad()
中)将其删除,您应该会看到带有 Storyboard UI 元素的单元格。
我在这里有点困惑。我有一个带有 UITableView 的视图控制器,我正在使用自定义 UITableViewCell class.
我的理解是,使用动态原型和自定义 class 可以让我对单元格进行编程控制。这有它的用处,但我也可以看到使用 Storyboard 进行布局的优势 UI。
但是,我注意到我在单元格内的情节提要中创建的任何内容都没有显示出来。我可以创建情节提要中的 IBOutlets/IBActions 并将其连接到 UITableViewCell.swift class,但实际上它们似乎并不 work/display。 table 视图最终显示自定义 UITableViewCell.swift class 中的内容,并忽略添加到单元格视图 Storyboard 的任何内容。
所以我的问题是:我可以同时使用两者,还是必须坚持使用其中之一?
将 Storyboard 中的单元格设计为原型,然后在单元格中包含代码 class 以动态配置/自定义它是很常见的。所以,这不是问题。
很有可能,您在开始时错过了一些不完全清楚的东西...
如果您的单元 class 未 连接到 Storyboard Prototype 单元,您必须 注册它:
tableView.register(MyCustomCell.self, forCellReuseIdentifier: "customCell")
但是,如果您的单元格 class IS 连接到 Storyboard Prototype 单元格,您 不能 这样做...当它从情节提要中实例化时,它将被注册为可重用。
因此,如果您有该行(可能在您的 viewDidLoad()
中)将其删除,您应该会看到带有 Storyboard UI 元素的单元格。