ios - 如何在 Storyboard 失败的情况下使用大量表格 View 单元格和自动布局约束来布局复杂 View

标签 ios swift xcode uitableview

我有这样的看法 enter image description here

enter image description here

基本上它是很多静态表格 View 单元格,其中每个单元格都有水平 ScrollView 和堆栈 View 。现在在 Storyboard中尝试这样做已经完全减慢了速度,在 Xcode 9 中添加或删除约束或仅更改标签文本需要超过 30 秒,并且总是有一个旋转的沙滩球。 我可以通过哪些方式减少系统过载或使 Storyboard更快一些。
还是转向在代码中布置 View 更好。在这种情况下,我们非常欢迎这方面的任何帮助/建议。 预先感谢您的努力。

Here is the link to GitHub repo for the same

最佳答案

您应该使用一些原型(prototype)单元,而不是重复几乎相同的静态单元。这里最多有 6 种不同类型的单元格。例如,输入 A、D、E 相同。输入 B、C、F 相同。

详细解释如何执行此操作超出了问题的范围,但基本过程如下。

假设您要添加一个可用于输入 B、C 和 F 的原型(prototype)单元格。这是最基本的输入单元格,将具有一个文本字段。

  1. 向您的项目添加一个继承自 UITableViewCell 的新类。 将其命名为 BasicInputCell
  2. 打开 Storyboard,选择表格 View 并打开属性检查器。将 Prototype Cells 设置增加 1。Xcode 将向 Storyboard中的 TableView 添加一个原型(prototype)单元格
  3. 选择原型(prototype)单元并打开身份检查器。将类名称设置为您的单元格名称 BasicInputCell
  4. 打开属性检查器并将标识符设置为相同的值,以便您可以通过该名称将其出列。
  5. 向 Storyboard 中的单元格添加一个文本字段。打开 Assistant Editor 并控制从文本字段拖动到您的类以创建 IBOutlet。
  6. 根据需要对尽可能多的独特细胞类型重复上述步骤。根据需要使用不同的控件自定义每种单元格类型,例如日期选择器。

在您的 TableView Controller 中,根据索引路径将您需要的类型的单元格出队。

关于ios - 如何在 Storyboard 失败的情况下使用大量表格 View 单元格和自动布局约束来布局复杂 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46822229/

相关文章:

ios - 将图像从 Heic 转换为 Jpeg/Jpg

ios - 覆盖 iOS 语音输入行为

ios - Obj-C 用于横向的替代 Storyboard

ios - 自定义视频大小导致 AVAssetWriter 出现错误

ios - 如何知道iOS应用在一定时间内没有收到触摸事件

arrays - 当一个数组是另一个数组的元素时如何限制它的元素类型

ios - AWSFirehoseRecorder saveRecord 似乎从不保存任何记录

ios - 我的 React Native 项目不包含 iOS 中的任何 app.xcworkspace 文件

python - 将 Python 框架捆绑到 Xcode 应用程序中

iOS - UIScrollView 中的 UITableView - 滑动以显示其他内容