Xamarin.Mac - AppDelegate DidFinishLaunching - 是"主界面"在Info.plist中指定已经应该加载?

时间:2016-06-13 19:20:31

标签: appdelegate appkit info.plist xamarin.mac

我有一个现有的.xib需要在Xamarin.Mac应用程序中显示为主页面。如果我设置"主界面"作为现有的.xib,它确实显示但是当我的DidFinishLaunching覆盖被调用时它没有完成。这是我期望进行一些初始化的地方,但我指定的插座都是null。

我是Xamarin的新手,我试图弄清楚是否需要覆盖一个不同的调用,让我知道主页面已完成加载或者问题出在其他地方。

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

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

提前感谢您的时间。

1 个答案:

答案 0 :(得分:1)

事件链大致是:

  • Main调用NSApplication.Main
  • 读取Info.plist以确定要加载的xib / storyboard。
  • 故事板已加载并充气。视图控制器有一个指向" ViewController"
  • 的自定义类
  • 您的ViewController会旋转,并且会调用WindowDidLoad。
  • DidFinishLaunching并不完全符合您的要求。

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

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