使用自动布局约束动态创建视图?在Objective-C中?
Posted
技术标签:
【中文标题】使用自动布局约束动态创建视图?在Objective-C中?【英文标题】:Creating views dynamically with autolayout constraints? in Objective-C? 【发布时间】:2016-11-03 06:45:05 【问题描述】: UIStackView(主) UIView(子) UILabel、UIButton 等 UIview(子) 可能是其他人的看法所有这些都以编程方式带有约束。并且可能是 UILabel 的 UIView 或 UIButtons 被创建成循环。一个接一个。
请帮忙!!
【问题讨论】:
为什么不使用UITableView
或UICollectionView
?它们简化了子视图的创建和布局以及更好的内存使用。它们都是为显示动态子视图计数而设计的。
b'coz 我想创建动态。我不知道哪种 UI 类型成为第一个或最后一个。但是每个视图都在它的超级视图中,并且可能是可扩展的。
即使经过您的解释,我也没有理由不使用集合或表格视图。
我的观点不固定,也不固定。这也取决于服务器响应和 UI 类型。
表格和集合视图是为动态数量的子视图设计的,您可以随时更改显示单元格的数量而无需重新加载完整视图。您可以拥有具有完全不同布局的多种单元格类型。如果您的堆栈视图中有太多子视图,您将遇到严重的内存和性能问题,而表格和集合视图将毫无问题地处理大量单元格。
【参考方案1】:
如果您想以编程方式创建这些视图,我会推荐这两个库。它们使添加/删除/更新/管理约束变得非常容易。
Objective-c
https://github.com/SnapKit/Masonry
斯威夫特
https://github.com/SnapKit/SnapKit
【讨论】:
【参考方案2】:您可以使用 Apple Native NSLayoutAnchor 以编程方式创建约束。就像 SnapKit/Masonry 一样简单。
【讨论】:
以上是关于使用自动布局约束动态创建视图?在Objective-C中?的主要内容,如果未能解决你的问题,请参考以下文章
具有动态视图数量和自动布局 iOS6 的 UIScrollView