ios - 在 UITableView 中使用动态原型是否会阻止使用 Storyboard 来布置单元格 UI?
问题描述
我在这里有点困惑。我有一个带有 UITableView 的视图控制器,并且我正在使用自定义 UITableViewCell 类。
我的理解是,使用动态原型和自定义类可以让我以编程方式控制单元格。这有它的用途,但我也可以看到使用 Storyboard 来布置 UI 的优势。
但是,我注意到我在单元格内的情节提要中创建的任何内容都没有显示出来。我可以创建并将故事板中的 IBOutlets/IBActions 连接到 UITableViewCell.swift 类,但它们实际上似乎不起作用/显示。表格视图最终会显示自定义 UITableViewCell.swift 类中的内容,并忽略添加到单元格视图 Storyboard 中的任何内容。
所以我的问题是:我可以同时使用两者,还是必须坚持使用其中一个?
解决方案
在 Storyboard 中将您的单元设计为原型,然后在您的单元类中包含代码以动态配置/自定义它是很常见的。所以,这不是问题。
最有可能的是,您在开始时错过了一些不完全清楚的东西......
如果你的单元类没有连接到 Storyboard Prototype 单元,你必须注册它:
tableView.register(MyCustomCell.self, forCellReuseIdentifier: "customCell")
但是,如果您的单元格类已连接到 Storyboard Prototype 单元格,则不能这样做......当它从 Storyboard 实例化时,它将被注册为可重用。
因此,如果您有该行(可能在您的viewDidLoad()
)中,请将其删除,您应该会看到带有 Storyboard UI 元素的单元格。
推荐阅读
- c++ - Marco Monster 的 C++ 中的 Car Physics Demo 改编,汽车行为混乱
- javascript - webpack --env.production 和 --mode="production" 有什么区别
- plotly - 从情节甘特图中删除基础线(标记)?
- c++ - HPX 中 MPI parcelport 的性能
- .net - 用户从集合中选择项目的通用且直观的方法(.NET WinForms)
- angular - 如何在angular4中使用用户名和密码设置授权标头
- javascript - 让material ui的Typography更高效?
- android - mipmap 在 android studio 中显示错误的图像
- python - 根据另一列更改熊猫列
- coldfusion - 在 CFSET 中使用 GeoLocation 变量