代码之家  ›  专栏  ›  技术社区  ›  Florian Leitner

从windowDidLoad启动ViewController作为工作表

  •  1
  • Florian Leitner  · 技术社区  · 6 年前

    我正在尝试在加载窗口后立即将情节提要显示为图纸。

    override func windowDidLoad() {
        super.windowDidLoad()
        let storyboard = NSStoryboard(name: NSStoryboard.Name(rawValue: "Init"), bundle: nil)
        let controller = storyboard.instantiateInitialController() as! NSViewController
        self.window!.contentViewController?.presentViewControllerAsSheet(controller)
    }
    

    不幸的是,该页显示位置不正确,并且位于窗口后面。 当我在按钮中运行相同的代码时,一切都正常。

    Screenshot

    如何在加载窗口后正确显示情节提要页?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sulthan    6 年前

    我对iOS生态系统有更多的了解,但我认为只有在显示了源窗口之后,才应该显示新窗口。 windowDidLoad 在加载视图时调用,而不是在显示视图时调用。

    因此,您可能应该将代码放入 viewDidAppear contentViewController