在macOS 10.12.3上,此错误
[布局]检测到缺失约束。它无法放置,因为没有足够的约束来完全定义大小和原点。添加缺少的约束,或设置translatesAutoresizingMaskIntoConstraints = YES,并为您生成约束。如果此视图在macOS 10.12及更高版本上手动布局,您可以选择不从覆盖中调用[super layout]。在DETECTED_MISSING_CONSTRAINTS上设置断点以进行调试。此错误仅记录一次。
由此代码立即生成:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
let openPanel = NSOpenPanel()
openPanel.directoryURL = URL(fileURLWithPath:"/")
openPanel.begin() { (result) -> Void in }
}
}
到目前为止,打开的对话框似乎正常运行。由于此代码显然没有参与开放式面板的布局,我是否可以或应该采取哪些措施来防止此错误?
正如错误消息中所建议的那样,我在DETECTED_MISSING_CONSTRAINTS
上设置了一个断点,并确定在发生这种情况时它正在布置NSVibrantSplitDividerView,但这似乎不是有用的信息。