我的应用程序收集用户的输入,因此它充满了标签,文本框和按钮,我必须根据特定条件显示或隐藏一组标签和文本框。
为了实现这一目标,我做了以下几点。
这样编程后,如果布局有任何变化,对我来说很难。 (即,如果用户请求从视图控制器添加/删除任何特定控件)。
我正在使用自动布局限制。任何人都可以建议是否有更好的方法来实现我的目标。
我正在使用IOS9和Swift。
非常感谢提前。
答案 0 :(得分:1)
您是否考虑过使用表格?它具有插入和删除行的机制,并可以为您管理布局 - 只有您需要关注的部分是单元格的内容。
答案 1 :(得分:1)
对于这种情况,您可以将UITableViewController与静态单元格一起使用。
对于隐藏/显示行或部分,您可以使用tableView:heightForRowAtIndexPath
方法更改大小。
UITableViewController自动管理布局,使用静态单元格甚至可以为所有控件创建插座。
答案 2 :(得分:0)
您可以使用UIViews的hidden
属性来隐藏/显示视图,而不是将IBOutlet设置为您可能需要隐藏的所有视图的高度限制。
如果您需要视图为其他视图腾出空间,您可以设置一个简单的动画并将视图移出屏幕边界。您可能会面临布局约束的问题,但从UI / UX的角度来看,这肯定是值得的。
此外,如果您知道自己不再需要视图,甚至可以从其超级视图中删除该视图。