为什么Xcode会不断更改故事板定义

时间:2014-09-29 09:41:50

标签: ios xcode

因为我Xcode6我的生活变成了一场噩梦。 我无法理解约束和故事板问题,我想得到一些帮助,我做了很多努力,但事情似乎没有用。

首先,有一个按钮w Any h Any,您可以在其中选择屏幕尺寸。我将其设置为fit all iPhones in portrait。为什么Xcode每次重新打开时都会将其更改回Any? 为什么他不保留这种配置?

其次,我想尝试理解这件事,当我在all iPhones上工作或在Any工作时,是否有区别?例如,如果我设置了一些标签并将其约束设置为Any模式,如果我在模式all iPhones中执行相同操作,它会看起来不同吗?

换句话说,如果我错了,请纠正我:如果我将标签设置为在iPhone模式中居中,那么从顶部开始的垂直距离约束是 x ,并且故事板高度为 y ,因此对于屏幕高度 y * a 的任何iPhone,该距离将变为 x * a ?那是对的吗?

1 个答案:

答案 0 :(得分:1)

这与Xcode 6的一个名为" Size classes"的新功能有关,您可以在其中为不同的设备类定义不同的约束/子视图。

您无法定义 iPhone纵向尺寸等级,除非您还定义了任何尺寸等级的基础,这就是它不断变回的原因。

有关官方Apple文档的更多说明,请参阅here

第二个问题的答案是否定的,他们不会改变:使用大小类,您可以启用/禁用/更改约束,具体取决于 size class ,但约束的基本功能在所有尺寸类上都是相同的(例如,超视图约束中的中心总是使用当前的超视图边界居中)。