自动布局和 ios5

Posted

技术标签:

【中文标题】自动布局和 ios5【英文标题】:Autolayout and ios5 【发布时间】:2013-03-04 16:24:12 【问题描述】:

我正在使用故事板。我使用了自动布局,但它不适用于 ios5 并导致崩溃,所以我想删除它。但是,如何取消选中自动布局。但是如果我取消选中自动布局,我如何为 iPhone 4 和 5 设置我的屏幕

问候

【问题讨论】:

崩溃时的错误信息是什么? 您可以使用普通的旧自动调整大小掩码(又名字符串和支柱)。 @MikeD NSLayoutConstaint 因为 IOS 版本 5 【参考方案1】:

您可以在 IB 中禁用自动布局,但在视图控制器中以编程方式设置约束,具体取决于设备上的 iOS 版本是否支持,例如,检查是否可以找到 NSLayoutConstraint 类:

if (NSClassFromString(@"NSLayoutConstraint")) 
    //create constraints

更多关于创建实际约束的信息可以在这里找到:http://www.techotopia.com/index.php/Implementing_iOS_6_Auto_Layout_Constraints_in_Code

【讨论】:

【参考方案2】:

您可以从 Storyboard Utilities 选项卡中取消选中自动布局。如果您不使用自动布局,则可以使用字符串和结构或以编程方式进行调整。

【讨论】:

实际上我的问题是,如何使用字符串和结构进行调整 :) 我正在尝试使用自动调整大小的 atm :) 到目前为止它工作正常【参考方案3】:

为了使用自动布局,请根据您想要调整它们大小的方式为每个视图使用情节提要中的弹簧!你自然需要

    view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth

在 StoryBoard 中,当您设置字符串或支柱时,这意味着您正在固定该距离,例如:如果您选择底部弹簧,则视图与底部的距离是固定的,这与上面的 UIViewAutoresizingFlexibleTopMargin 相同。

【讨论】:

以上是关于自动布局和 ios5的主要内容,如果未能解决你的问题,请参考以下文章

iOS中AutoLayer自动布局流程及相关方法

iOS中AutoLayer自动布局流程及相关方法

将 iOS 项目转换为自动布局

(自动布局)容器视图调整大小但子视图不

开启自动布局时 UINavigationBar 异常

如何在工具栏中自动布局项目