Xamarin.Mac -- AppDelegate DidFinishLaunching -- Info.plist 中指定的 "Main Interface" 是否已经应该加载?

Xamarin.Mac -- AppDelegate DidFinishLaunching -- Is the "Main Interface" specified in Info.plist already supposed to be loaded?

我有一个现有的 .xib 需要在 Xamarin.Mac 应用程序中显示为主页。如果我将 "Main Interface" 设置为现有的 .xib,它会显示,但在我的 DidFinishLaunching 覆盖被调用时还没有完成。这是我希望进行一些初始化的地方,但我指定的出口都是空的。

我是 Xamarin 的新手,我想弄清楚是否需要重写另一个让我知道主页已完成加载的调用,或者问题是否出在其他地方。

我确实看到 NSWindowController 有一个 WindowDidLoad 覆盖,但是如果我在 info.plist 中设置主界面,它怎么知道 ViewController 是那个视图的什么,以便我的覆盖WindowDidLoad 被调用了吗?

我想我可能需要在 DidFinishLaunching 中手动创建主 window,但我找不到任何关于如何通过 .xib 创建主 window 的文档。有关于如何从 nib 获取故事板的文档,但我在加载 .xib 时没有看到任何内容。如果有人能找到关于如何在 Xamarin.Mac 应用程序中初始化主要 window(包括所有管道)的很好的参考,那可能就足够了。

提前感谢您的宝贵时间。

事件链大致为:

  • 主要调用 NSApplication.Main
  • 读取 Info.plist 以确定要加载的内容 xib/storyboard。
  • 故事板已加载并充气。视图控制器有一个自定义 class 指向 "ViewController"
  • 你的 ViewController 启动了,WindowDidLoad 被调用了。
  • DidFinishLaunching 并不是您要找的。

我可以建议您查看相关文档以更好地了解整个过程:

https://developer.xamarin.com/guides/mac/getting_started/hello,_mac/#Anatomy_of_a_Xamarin.Mac_Application