Xamarin.Mac - AppDelegate DidFinishLaunching - Info.plist中指定的“主界面”是否应该加载?
问题描述:
我有一个现有的.xib需要显示为Xamarin.Mac应用程序中的主页面。如果我将“Main Interface”设置为这个现有的.xib,它会显示,但不会在我的DidFinishLaunching覆盖被调用的时候完成。这是我期望做一些初始化的地方,但我指定的网点都是空的。Xamarin.Mac - AppDelegate DidFinishLaunching - Info.plist中指定的“主界面”是否应该加载?
我是Xamarin的新手,我试图弄清楚是否需要重写一个不同的调用,让我知道主页面已经完成加载,或者问题出在别处。
我确实看到NSWindowController有一个WindowDidLoad覆盖,但是如果我在info.plist中设置主界面,它是如何知道ViewController用于该视图的,以便我的覆盖WindowDidLoad被调用?
我想我可能需要在DidFinishLaunching中手动创建主窗口,但是我找不到任何有关如何通过.xib创建主窗口的文档。有关于如何从笔尖获取故事板的文档,但我没有看到加载.xib的任何内容。如果有人可以找到关于如何在Xamarin.Mac应用程序中初始化主窗口(包括所有管道)的很好参考,那可能就足够了。
预先感谢您的时间。
答
事件的链大致是:
- 主调用NSApplication.Main
- 读取的Info.plist以确定哪些XIB /故事板加载。
- 故事板被加载并膨胀。视图控制器有一个指向“ViewController”的自定义类
- 您的ViewController已启动,并且WindowDidLoad被调用。
- DidFinishLaunching不完全是你在找什么。
可能,我建议看看有问题的文件,以获得更好的了解全过程: