以编程方式向 UIView 或 UIViewController 添加约束?
Posted
技术标签:
【中文标题】以编程方式向 UIView 或 UIViewController 添加约束?【英文标题】:Programmatically add constraints to UIView or UIViewController? 【发布时间】:2014-06-05 06:12:26 【问题描述】:我在没有 Interface Builder 的情况下工作。我有一个扩展 UIView 的自定义视图和一个扩展 UIViewController 的自定义控制器。
我的问题是 - 我应该在 UIView.updateConstraints 还是 UIViewController.viewDidLoad 中添加约束?
似乎 UIView.updateConstraints 是正确的地方,但是我在 UIViewController.viewDidLoad 中看到很多代码示例。另外,如果我想限制topLayoutGuide,那是viewController上的一个属性……所以现在我必须弄清楚如何访问视图中的viewController。呸。
但是在 viewController 中进行布局(视图类型工作)似乎并不正确。例如,如果您使用 IB,则会将约束添加到视图中。
有什么建议吗?
【问题讨论】:
【参考方案1】:如果约束范围在视图内,则将其放在 updateConstraints
内。
还请探索在视图控制器中更新约束
-(void) updateViewConstraints
方法。
【讨论】:
以上是关于以编程方式向 UIView 或 UIViewController 添加约束?的主要内容,如果未能解决你的问题,请参考以下文章
UISlider 约束以编程方式:“约束项必须每个都是 UIView 或子类的实例”
如何在 Swift 中以编程方式从 UIView 中删除安全区域?
当我尝试以编程方式添加 UIView 时,UITableViewCell 高度不会自动调整(而是压扁我的 UIView)