从 Storyboard iOS 导出或打印自动布局约束
Posted
技术标签:
【中文标题】从 Storyboard iOS 导出或打印自动布局约束【英文标题】:Export or Print Auto Layout Constraints from Storyboard iOS 【发布时间】:2014-03-08 14:48:49 【问题描述】:是否可以打印出您在情节提要中创建的自动布局中设置的约束?我想用代码重新创建我在 Storyboard 中所做的事情。
【问题讨论】:
【参考方案1】:UIView
的所有实例都有一个名为 constraints
的属性。这是与该特定视图关联的所有NSLayoutConstraint
中的NSArray
。您可以从根视图中traverse a view hierarchy recursively,然后打印出所需的layout constraint properties。
// for each view in hierarchy
for (NSLayoutConstraint *constraint in view.constraints)
// print what you need here
【讨论】:
【参考方案2】:您是否尝试在外部编辑器(不是 xCode)中打开故事板文件? 你可以阅读它,它只是 xml。
【讨论】:
【参考方案3】:如果您需要打印view
,您应该在超级视图中找到约束。例如:
view.superview?.constraints.forEach (constraints: NSLayoutConstraint) in
// If you want to find some specific constrainst
if constraints.firstItem as! NSObject == view && (constraints.firstAttribute == .centerX)
// Remove it.
constraints.isActive = false
接受的答案应该只打印view
本身的height
和width
。
【讨论】:
以上是关于从 Storyboard iOS 导出或打印自动布局约束的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何通过 Storyboard 为我的 iOS 视图设置自动布局/约束?
iOS 8 Storyboard Auto Layout 中的 UIImageView 拉伸
Xcode 5 - iOS - 如何在没有 Storyboard 或 XIB 的情况下在 Xcode 中创建视图控制器以及如何将其配置为 AppDelegate 作为根视图