【问题标题】:Install/Uninstall constraint programmatically [closed]以编程方式安装/卸载约束[关闭]
【发布时间】:2015-08-10 07:05:05
【问题描述】:

有没有办法以编程方式安装和卸载 Xcode 界面构建器constraint

【问题讨论】:

  • 看看github上的mansory和pure layout之类的开源项目。它们更好,更容易编码
  • 有没有办法解决这个问题,因为问题的含义现在很明显,正确答案在过时答案的评论中?

标签: ios objective-c autolayout interface-builder nslayoutconstraint


【解决方案1】:

连接 IBOutlet 为 NSLayoutConstraint 通过 CTRL+单击约束并将其拖动到 viewController(例如@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraint;)。

解除约束:

[self.view removeConstraint:constraint]

用于安装约束:

[self.view addConstraint:constraint]

【讨论】:

  • 所以如果一个约束开始un安装,那么addConstraint 将被安装?
  • @Eric "uninstall" 在这里是错误的术语... uninstall 严格参考情节提要,与运行时以编程方式完成的任何事情无关。
  • 在 iOS 8 中有一个 active 约束属性,对应于 XCode 中的“卸载”设置。只需在 XCode 中使用您的备用值卸载一个约束,然后通过在运行时交替它们的 active 状态在它们之间切换。
  • 仅作记录!如果将在代码中添加/删除约束,那么对约束进行弱引用可能会很危险!它可能会被释放!
  • 此解决方案已弃用。改用 NSLayoutConstraint 的 active 属性。
猜你喜欢
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2013-05-19
  • 2018-11-25
相关资源
最近更新 更多