我已将 macOS 应用提交到 App Store,但遭到拒绝。他们提供了屏幕截图,布局与我的开发机器完全不同。我使用 Xcode 9 在 MacBook Pro 13 英寸(2011 年底)上创建了该应用程序,没有视网膜屏幕,运行 MacOS 10.12。我向他们询问了他们的环境,他们说他们使用 MacOS 10.10 进行了测试。
我想知道为什么会发生这种情况。我使用 Xcode 测试了我的应用程序,并将其导出并直接运行。我没有遇到任何问题。这可能与自动布局有关吗?
我的背景是 iOS,所以也许我忘记了 Cocoa 平台更内在的东西。
谢谢=)
最佳答案
我从这个链接得到了答案:https://forums.developer.apple.com/message/265199#265199
我做了一些额外的测试,仅使用这个 View 层次结构:
View
- Vertical StackView
- Horizontal StackView
- Custom View
- Button
我也有限制:
垂直堆栈 View - 屏幕水平居中 - 锚定/页边距顶部
自定义 View - 固定高度 - 固定宽度
这足以重现该问题。
从调试代码中,我可以看到自定义 View 的大小正确,水平堆栈 View 的大小正确。只有垂直方向没有合适的尺寸。看起来 VerticalStackview 正在裁剪其内容。
我设法让它工作: 1) 固定Horizontal StackView的高度并进行约束 2) 更改 Horizontal StackView 上的拥抱优先级 3) 更改 Horizontal StackView 上的裁剪阻力
似乎由于某种原因,在 macOS 10.10 上,堆栈 View 或自动布局无法以相同的方式工作。似乎内容没有以相同的方式计算。通过在每个 subview 中强制约束,我让它发挥作用。
关于xcode - macOS 10.10 中的 UI 布局问题(适用于 macOS 10.12),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46457528/