我计划在iOS中实现一个非常复杂的问卷手风琴布局,其结构类似于以下内容:
Root View
|_ UIScrollView
|_ ContentView
|_ UILabel
|_ UITableView (cells = expandable questionnaire sections)
|_ UIView (* table cell, view for a section)
|_ UITableView (cells = questionnaire question groups)
|_ UIView (** table cell, view for a question group)
|_ UITableView (cells = questionnaire questions)
|_ UIView (*** table cell, view for a question)
|_ ImageView
我希望我的设计符合以下要求:
- 自动布局始终使用尽可能少的代码隐藏。
- 每个
UITableView
都可以具有动态数量的单元格。 - 每个
UITableView
的单元格都可以有动态高度,甚至可以在运行时改变。 - 任何级别的身高增加都应该推动所有父母将身高增加到最顶层
UIScrollView
的ContentView
。内部表视图不得可滚动,而应拉伸以适合其所有子项内容。 - 当剖面视图
*
处于折叠状态时,其内容应隐藏(隐藏 = true)并降低其高度。 - 除了任何子表之外,
*
、**
和***
视图还可以包含其他帮助程序视图,例如节号、侧行、UI 标签。
这可能吗?我将不胜感激有关如何解决此问题的任何一般性建议。
我的目标是iOS 9+。
我认为自动布局是可能的,通过将其高度约束挂钩为 IBOulets 来改变内部约束的高度,但它是一个沉重的 UI 东西,似乎整个应用程序堆叠在一个屏幕中,我建议至少将问卷表视图移动到另一个屏幕