NSSavePanel在应用程序之间显示不同,即使代码相同

时间:2016-05-06 01:04:12

标签: objective-c swift macos cocoa nspanel

我在项目中遇到了NSSavePanel的问题,所以为了尝试找出问题所在,我创建了一个测试项目,其中只包含默认窗口中的NSSavePanel代码&view.didLoad。

测试项目

我用来显示NSSavePanel的代码:

dispatch_async(dispatch_get_main_queue()) {
    let savePanel = NSSavePanel()
    savePanel.nameFieldStringValue = "test.png"

    let result = savePanel.runModal()

    if result == NSFileHandlingPanelOKButton {
        print("You hit that OK button.")
    }
}

出现的保存面板如下所示:

enter image description here

真实项目

当我在现有应用程序中使用相同的代码(图像文件名除外)时,我得到一个如下所示的NSSavePanel:

enter image description here

主要差异:

  • 显示的窗口未激活
  • 标题栏与窗口的其余部分不分开
  • 每当您点击不是按钮或文本字段的内容时,窗口会向下跳几个像素,就好像我打算将它拖动一样。

世界上到底发生了什么?显然,问题不仅仅是代码片段。有谁知道它是什么?

0 个答案:

没有答案