AutoLayout:不同的OS X版本,不同的行为?

时间:2015-03-19 14:36:00

标签: macos cocoa autolayout

我正在为OS X开发一个应用程序,它在退出时会显示一个小窗口(使用自动布局)。窗口的大小约为550 x 290像素并且已经固定。

但我面对的行为对我来说似乎很奇怪:

  • 在OS X 10.7上启动应用程序:小窗口的大小大约应该是(宽度和高度)的三倍大小
  • 在OS X 10.8上启动应用程序:窗口的宽度适合,但其高度仍然是应该的两倍
  • 在OS X 10.9上启动应用程序:窗口的大小与我设计的一样
  • 在OS X 10.0上启动应用程序:与10.9相同(正确)的行为

我已将所有约束重新设置为正确设置(Xcode显示没有布局问题)。有人能给我一些暗示可能会发生什么吗?

我绝对相信视图中没有其他(冲突或修改)约束。

更新

您可以在下面找到包含窗口所有约束的图像。窗口本身的约束(最小和最大尺寸)已设置为当前(预期)大小。 左侧的图像已固定到底部,左侧和顶部,其缩放行为已设置为proportionally down。因此,图像不应成为问题的根源。

The constaints of my window

1 个答案:

答案 0 :(得分:0)

我找到了一个有效的解决方案。我认为这是资产目录中的2x图像(导致高度加倍)和视图中的标签的组合。标签包含太多文本,要么必须自动包装,要么拉伸它们直到内容适合(Lion和Mountain Lion似乎这样做)。

我已将width约束添加到两个标签并将其固定为其当前值(如Interface Builder中所示)。这对我有用,因为AutoLayout似乎保持标签的宽度并包装其内容(如预期的那样)。

非常感谢提示。