MacOS 10.10中的UI布局问题,在macOS上工作10.12

问题描述:

我已将我的macOS应用程序提交给App Store并被拒绝。他们提供了截图,布局与我的开发机器完全不同。我使用Xcode 9在MacBook Pro 13上创建了应用程序,在2011年底,没有视网膜屏幕,运行MacOS 10.12。我问他们的环境,他们说他们使用MacOS 10.10进行测试。我的应用程序使用Xcode进行测试,并且直接导出并运行它。我没有遇到任何问题。这可能与自动布局有关吗?MacOS 10.10中的UI布局问题,在macOS上工作10.12

我的背景是iOS,所以也许我忘记了Cocoa平台的更多内容

这是Xcode上的屏幕,带有自动布局限制 01

这是在xcode之外运行的屏幕。 02

这是苹果在审查过程中发送 03

感谢截图=)

我从这个链接的回答:https://forums.developer.apple.com/message/265199#265199

我做了一些额外的测试,使用只有这种视图层次:

View 
    - Vertical StackView 
     - Horizontal StackView 
      - Custom View 
     - Button 

我也有限制:

垂直StackView - 中心水平在屏幕上 - 锚/保证金顶部

自定义视图 - 固定高度 - 固定宽度

这是suffiient重现问题。

从调试代码,我可以看到自定义视图有正确的大小,水平堆视图有正确的大小。只有纵向没有这种倾向。看起来VerticalStackview正在剪裁它的内容。

我设法得到它的工作方式: 1)固定高度上水平StackView与约束 2)变更拥抱优先级上水平StackView 3)水平StackView更改裁剪性

似乎是出于某种原因,在macOS 10.10上,堆栈视图或自动布局不以相同的方式工作。似乎内容没有以相同的方式计算。通过在每个子视图中强制约束,我得到了它的工作。