我做了一个非常简单的虚拟项目来说明我的问题(在 10.12.1 上使用 Xcode 8.1)。我有一个带有 2 个选项卡的 NSTabViewController 的故事板,其中一个是 NSSplitViewController。尽管一切似乎都运行良好,但我在运行时看到以下警告:
“TabSplitViewDummy[3615:89221] [Layout] 检测到 <_NSSplitViewItemViewWrapper: 0x6000001a0d20> 缺少约束。由于没有足够的约束来完全定义大小和原点,因此无法放置。添加缺少的约束,或设置 translatesAutoresizingMaskIntoConstraints=YES 和约束将为您生成。如果此视图在 macOS 10.12 及更高版本上手动布局,您可以选择不从覆盖中调用 [super layout]。在 DETECTED_MISSING_CONSTRAINTS 上设置断点以进行调试。此错误只会记录一次。
我尝试为所有视图设置 translatesAutoresizingMaskIntoConstraints=YES 以及设置约束 - 没有任何效果。到目前为止,我只发现了 3 件事:
- 当我更改选项卡的顺序以使拆分视图在启动时不可见时,没有警告消息
- 当我删除选项卡视图并制作窗口的拆分视图内容时,没有警告消息
- 当我在 DETECTED_MISSING_CONSTRAINTS 上设置一个符号断点时,它会被击中 6 次,所以我猜有 6 个缺少约束
我已经为此失去了好几天,我在这里错过了什么?
非常感谢你的帮助!!!