NSViewController und mehrere Unteransichten von einer Nib

Es fällt mir schwer, mit Interface Builder und NSViewController die Ansichten zu laden.

Mein Ziel ist es, eine Ansicht zu haben, die der folgenden Beschreibung entspricht: Obere Leiste oben (wie eine Symbolleiste, aber nicht genau), die sich über die gesamte Breite der Ansicht erstreckt, und eine zweite "Inhaltsansicht" darunter. Diese zusammengesetzte Ansicht gehört meinerNSViewController Unterklasse.

Es war sinnvoll, hierfür den Interface Builder zu verwenden. Ich habe eine Ansichtsnib erstellt und zwei Unteransichten hinzugefügt, die richtig angeordnet sind (mit der oberen Leiste und der Inhaltsansicht). Ich habe eingestelltFile's Owner seinMyViewControllerund angeschlossene Steckdosen und dergleichen.

Die Ansichten, in die ich laden möchte (die Leiste und der Inhalt), sind auch in ihren eigenen Schreibfedern (dies könnte mich auslösen), und für diese Schreibfedern ist die benutzerdefinierte Klasse gegebenenfalls auf die jeweilige NSView-Unterklasse festgelegt. Ich bin mir nicht sicher, was ich als ihr einstellen sollFile's Owner (Ich vermuteMyController wie es ihr Besitzer sein sollte).

Leider, wenn ich eine Instanz von initiierenMyViewController Keine meiner Federn wird tatsächlich angezeigt. Ich habe es der Inhaltsansicht meines Fensters ordnungsgemäß hinzugefügt (ich habe es anderweitig überprüft), und tatsächlich sind die Dinge irgendwie geladen. Das ist,awakeFromNib wird an die Balkenansicht gesendet, aber nicht im Fenster angezeigt. Ich glaube, ich habe definitiv irgendwo ein paar Drähte gekreuzt. Vielleicht könnte jemand helfen, um etwas von meiner Frustration zu lindern?

BEARBEITEN Code, der zeigt, was ich tue

Der Controller wird geladen, wenn meine Anwendung vom App-Delegaten gestartet wurde:

MyController *controller = [[MyController alloc] initWithNibName:@"MyController" bundle:nil];
[window setContentView:[controller view]];

Und dann mache ich in meinem initWithNibName vorerst nichts anderes, als super anzurufen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage