从 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 本身的heightwidth

【讨论】:

以上是关于从 Storyboard iOS 导出或打印自动布局约束的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何通过 Storyboard 为我的 iOS 视图设置自动布局/约束?

iOS 中 Storyboard 创建的属性

iOS 8 Storyboard Auto Layout 中的 UIImageView 拉伸

Xcode 5 - iOS - 如何在没有 Storyboard 或 XIB 的情况下在 Xcode 中创建视图控制器以及如何将其配置为 AppDelegate 作为根视图

在 iOS 上将数据导出到 XLS(不是通过 CSV)

IOS-Storyboard控制器切换之Push