【发布时间】:2015-05-23 04:16:55
【问题描述】:
我想知道 xCode 自动布局/约束是否真的像我想的那样令人沮丧,或者我只是不理解它们。例如,我从视图控制器中的这个基本标签开始:
很公平。一个文本框,其左/右边距相等,上边距较小。现在,当我运行任何尺寸的设备时,它会从设备视图中倾斜/切断。因此,出于某种原因,Xcode 立即认为,尽管我将整个标签放在视图控制器中,但它应该显示在屏幕的一半。不明白但没关系,所以我继续在右侧、左侧和顶部边距添加自动布局约束。结果是:
所以它居中,这很好,但现在它只是忽略了我将宽度变大并且它只是将其缩小的事实?对于如此简单的事情,这似乎非常……不可靠。然后我添加了“纵横比”约束,它在所有设备中看起来都很好......终于!
奇怪的是,我也只是简单地尝试摆脱所有这些,并简单地添加“纵横比”约束和“容器中的水平中心”约束。在主情节提要预览(不是模拟器)上,它看起来像这样:
不是我想要的,因为它没有像我想要的那样向下拉伸,他们又把它缩小了。然而......当实际在模拟器中运行它时......它看起来很完美,就像我希望它在视图控制器的第一张图片中一样。
为什么预览和模拟器不同,我想(通过阅读其他问题)这是因为在我添加这些之后出现了一些警告。一是水平和垂直位置最初是一个,并且在运行时会有所不同。但是当我运行它时,它肯定会保存最初的那些,而不是他们说它将在运行时保存的那些。它还告诉我垂直位置不明确……嗯,是的,我只设置了一个中心和纵横比……很明显,我什至不知道如何解决这个错误。当我删除水平中心时它解决了它......但现在它没有居中,这与我想要的相比有所退步。
长话短说,我该如何处理。即使对于最简单的自动布局细节,我的预览和模拟也不准确。如今的应用程序非常复杂,并且在每一种设备上都可以很好地扩展和运行,这似乎与一个标签都不相符。
有人有什么好的文章、建议或任何可以帮助我的东西吗?这种自动布局的东西似乎很挑剔,这就是我所知道的,所以我必须处理它。甚至不要让我开始解释为什么文本不随标签缩放......为什么我希望 iphone 4 上的文本在 ipad 上是相同的,即使我的标签随着设备的大小增加?
要经历很多事情,但这非常令人沮丧,在我尝试理解这些基础知识之前,我看不到自己还有很多事情要做。谢谢你,非常感谢。
【问题讨论】:
标签: ios iphone xcode layout constraints