Xcode 8.1的新自动布局错误

Pet*_*ley 27 macos cocoa nsalert autolayout swift

标题##我有一个运行得很好的macOS应用程序,直到我升级到Xcode 8.1.

该应用程序打开一个对话框,NSOpenPanel允许用户选择图像.当我选择图像并选择"打开"时,我收到以下错误:

2016-11-03 10:23:25.589283 PA位置数据[9008:265214] [布局]检测到NSTextField的缺失约束:0x6000001e3a00.它无法放置,因为没有足够的约束来完全定义大小和原点.添加缺少的约束,或设置translatesAutoresizingMaskIntoConstraints = YES,并为您生成约束.如果此视图在macOS 10.12及更高版本上手动布局,您可以选择不从覆盖中调用[super layout].在DETECTED_MISSING_CONSTRAINTS上设置断点以进行调试.此错误仅记录一次.

公开对话然后冻结,不能被解雇.

正如所建议的那样,我为DETECTED_MISSING_CONSTRAINTS设置了一个断点,并DETECTED_MISSING_CONSTRAINTS在此代码中发现执行正在暂停:

func happyAlert(message: String, info: String) {
        let myPopup: NSAlert = NSAlert()
        myPopup.messageText = message
        myPopup.informativeText = info
        myPopup.alertStyle = NSAlertStyle.informational
        myPopup.addButton(withTitle: "OK")
        myPopup.runModal()
}
Run Code Online (Sandbox Code Playgroud)

此警报通知用户图像已通过或未通过各种验证检查.

过去发生的事情是图像被选中,被myPopup.runModal()解雇和警报出现没有任何问题.

现在我得到了关于NSTextField的约束的错误,但是我不明白它们为什么会在这里涉及,特别是因为xCode没有标记任何与底层视图的自动布局问题.

任何人都可以解释可能发生的事情和/或进一步调试的策略吗?我的经历有限,我很困惑.

AD *_*ess 1

检查界面生成器中的视图层次结构,文本字段可能位于所有内容之上,并且 Xcode 正在尝试为其设置约束。否则,也许可以添加一些故事板中正在发生的事情的屏幕截图。您是否尝试过将有问题的文本字段的宽度和高度从 = 设置为 >= 设置的值?我过去遇到过这样一个愚蠢的设置已经解决了与此类似的错误的问题。