【发布时间】:2014-03-08 14:48:49
【问题描述】:
是否可以打印出您在情节提要中创建的自动布局中设置的约束?我想用代码重新创建我在 Storyboard 中所做的事情。
【问题讨论】:
标签: ios iphone objective-c storyboard constraints
是否可以打印出您在情节提要中创建的自动布局中设置的约束?我想用代码重新创建我在 Storyboard 中所做的事情。
【问题讨论】:
标签: ios iphone objective-c storyboard constraints
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
}
【讨论】:
您是否尝试在外部编辑器(不是 xCode)中打开故事板文件? 你可以阅读它,它只是 xml。
【讨论】:
如果您需要打印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。
【讨论】: