macos - 模态表未附加到窗口

标签 macos swift nsviewcontroller nssplitview

我正在尝试在我的根窗口中调用模态表。我已成功显示工作表,但它未附加到主窗口

我已经 read about similar problem :

  1. 窗口导出已设置(由 XCode 自动设置)
  2. “启动时可见”选项未选中。

我的应用程序有 Storyboard(下图),我从根窗口 Controller 调用工作表。我尝试从 Root Split View Controller 调用 sheet 但没有成功。

let loginWindow = LoginWindowController(windowNibName: "LoginWindowController")

self.window?.beginSheet(loginWindow.window!, completionHandler: { (res) -> Void in
    print("completed")
})

Storyboard

最佳答案

我尝试在 viewDidLoadbeginSheet(也可以显示工作表,您可以使用 presentViewControllerAsSheetperformSegueWithIdentifier)强> 方法。那是错误。

您只能在 View 出现后调用工作表。然后工作表将正确放置在窗口内,并且没有窗口/ View 层次结构错误。

现在我在 viewDidAppear 方法中调用工作表,一切正常

关于macos - 模态表未附加到窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32459985/

相关文章:

ios - 使用 QuickTime 从 iPhone 捕获屏幕会禁用设备上的声音

macos - Vagrant 无法在 Chrome 上使用本地主机扩展

ios - Jenkins 在使用 Cocoapods 构建 Xcode 项目时返回 "unknown error -1=ffffffffffffffff"

swift - 正确释放嵌入在 subview 中的 NSViewController

cocoa - 以编程方式创建 NSTableView 和自定义 NSViewController

python - 在 OSX 10.10 上链接 Boost Python

android - ADT 插件在 Eclipse 中消失了

swift - MKMapView 边界

xcode - 检测应用程序是否打开 x 次

cocoa - 从 Nib 加载 NSViewController