NSOpenPanel触发DETECTED_MISSING_CONSTRAINTS布局错误

时间:2017-01-28 01:47:00

标签: cocoa

在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,但这似乎不是有用的信息。

0 个答案:

没有答案