基本上它是很多静态表格 View 单元格,其中每个单元格都有水平 ScrollView 和堆栈 View 。现在在 Storyboard中尝试这样做已经完全减慢了速度,在 Xcode 9 中添加或删除约束或仅更改标签文本需要超过 30 秒,并且总是有一个旋转的沙滩球。
我可以通过哪些方式减少系统过载或使 Storyboard更快一些。
还是转向在代码中布置 View 更好。在这种情况下,我们非常欢迎这方面的任何帮助/建议。
预先感谢您的努力。
最佳答案
您应该使用一些原型(prototype)单元,而不是重复几乎相同的静态单元。这里最多有 6 种不同类型的单元格。例如,输入 A、D、E 相同。输入 B、C、F 相同。
详细解释如何执行此操作超出了问题的范围,但基本过程如下。
假设您要添加一个可用于输入 B、C 和 F 的原型(prototype)单元格。这是最基本的输入单元格,将具有一个文本字段。
- 向您的项目添加一个继承自 UITableViewCell 的新类。
将其命名为
BasicInputCell
。 - 打开 Storyboard,选择表格 View 并打开属性检查器。将 Prototype Cells 设置增加 1。Xcode 将向 Storyboard中的 TableView 添加一个原型(prototype)单元格
- 选择原型(prototype)单元并打开身份检查器。将类名称设置为您的单元格名称
BasicInputCell
。 - 打开属性检查器并将标识符设置为相同的值,以便您可以通过该名称将其出列。
- 向 Storyboard 中的单元格添加一个文本字段。打开 Assistant Editor 并控制从文本字段拖动到您的类以创建 IBOutlet。
- 根据需要对尽可能多的独特细胞类型重复上述步骤。根据需要使用不同的控件自定义每种单元格类型,例如日期选择器。
在您的 TableView Controller 中,根据索引路径将您需要的类型的单元格出队。
关于ios - 如何在 Storyboard 失败的情况下使用大量表格 View 单元格和自动布局约束来布局复杂 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46822229/