2016-06-13 29 views
1

Ich habe eine vorhandene .xib, die als Hauptseite in einer Xamarin.Mac-Anwendung angezeigt werden muss. Wenn ich die "Hauptschnittstelle" als diese existierende .xib einstelle, wird sie angezeigt, aber es ist nicht fertig, wenn meine DidFinishLaunching-Überschreibung aufgerufen wird. Hier erwarte ich eine Initialisierung, aber die von mir angegebenen Ausgänge sind alle null.Xamarin.Mac - AppDelegate DidFinishLaunching - Ist die in Info.plist angegebene "Hauptschnittstelle" bereits geladen?

Ich bin neu in Xamarin und ich versuche herauszufinden, ob ich einen anderen Aufruf überschreiben muss, der mich wissen lässt, dass die Hauptseite geladen wird oder wenn das Problem woanders liegt.

Ich habe gesehen, dass ein NSWindowController eine WindowDidLoad-Überschreibung hat, aber wenn ich die Hauptschnittstelle in der info.plist, wie weiß es, was der ViewController für diese Ansicht ist, so dass meine Überschreibung WindowDidLoad aufgerufen wird?

Ich denke, dass ich wahrscheinlich das Hauptfenster in DidFinishLaunch manuell erstellen muss, aber ich kann keine Dokumentation finden, wie das Hauptfenster durch eine .xib erstellt wird. Es gibt eine Dokumentation darüber, wie man ein Storyboard von einer Schreibfeder bekommt, aber beim Laden einer .xib sehe ich nichts. Wenn jemand eine gute Referenz darüber finden kann, wie das Hauptfenster in einer Xamarin.Mac-Anwendung initialisiert wird (einschließlich aller Installationen), reicht das vielleicht.

Vielen Dank im Voraus für Ihre Zeit.

Antwort

1

Die Kette von Ereignissen ist in etwa:

  • Haupt ruft NSApplication.Main
  • Info.plist zu bestimmen, liest, was xib/Storyboard zu laden.
  • Storyboard ist geladen und aufgeblasen. Der View-Controller verfügt über eine benutzerdefinierte Klasse, die auf "ViewController" zeigt.
  • Ihr ViewController wird hochgefahren, und WindowDidLoad wird aufgerufen.
  • DidFinishLaunching ist nicht genau das, was Sie suchen.

Darf ich vorschlagen, bei der Dokumentation in Frage einen Blick ein, um besser der vollständigen Prozess verstehen:

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