关闭自动布局似乎会改变屏幕的高度

Posted

技术标签:

【中文标题】关闭自动布局似乎会改变屏幕的高度【英文标题】:Turning off auto layout seems to change the height of the screen 【发布时间】:2013-11-30 22:54:18 【问题描述】:

为了使我的应用与 ios 4.3 兼容,我需要取消选中“使用自动布局”选项。

问题是,一旦完成,我的界面对象就不会显示在它们需要的位置。由于某种原因,iOS 模拟器显示的屏幕高度较低。

在不使用自动布局选项的情况下,我应该怎么做才能保持布局正确?

【问题讨论】:

你的意思是说模拟器中的屏幕是 iPhone 4/4s/3/3gs 的屏幕,而设计器(Storyboard)中的屏幕是 iPhone 5 的屏幕? 除非您在旧版本的 ios 上进行企业部署,否则没有理由继续为这种旧版本的操作系统进行开发。 @uchuugaka 基本上项目负责人要求我确保它在尽可能多的设备上运行。你认为我应该制作哪个版本?谢谢你的评论。 @BlueGene 我的意思是,我在界面构建器的视图中放入按钮,当我运行模拟器时,它们不会出现在同一个位置。自动布局曾经为我解决了这个问题,但没有它我不知道该怎么办。 【参考方案1】:

您仍然需要使用 IB 设置大小和布局

【讨论】:

所以,我所做的是将项目放在界面构建器视图中,因为我希望它们显示出来,并且它们不会像我删除它们那样显示出来。用这个工具能解决吗?我不确定我将如何使用这个工具!那么不同的屏幕尺寸呢? 是的,如果屏幕尺寸发生变化,这将重新定位控件。不知道为什么不使用 AutoLayout 虽然这是推荐的方式,但上面的替代方法是旧方式。自动布局非常复杂,一个错误的约束,整个事情就崩溃了,但它确实有效。 好的,谢谢,我试试看!我不使用它是因为我想确保该应用程序与大多数可能的 iOS 版本兼容。 iOS 6 以下的任何 iOS 版本均不兼容自动布局。

以上是关于关闭自动布局似乎会改变屏幕的高度的主要内容,如果未能解决你的问题,请参考以下文章

相应地设置自动布局约束

UIViews 的高度与屏幕的高度成比例(自动布局)

iOS 自动布局 >> 视图没有改变它的大小

如何使用自动布局根据子视图调整父视图的高度

iOS自动布局多个高度

Xcode 自动布局和旋转