2009-09-13 7 views
8

Ich habe eine NSSplitView und auf der linken Seite habe ich eine TableView (wie eine Quellenliste) und je nach Zeilenauswahl, möchte ich die rechte Seite der Teilung ändern Aussicht. Ich kann mir nicht vorstellen, wie ich das machen soll.Eine Seite einer NSSplitView programmgesteuert einstellen

Wenn ich meine gewünschte Unteransicht zu der Splitview hinzufüge, fügt sie einen weiteren Split hinzu (also jetzt gibt es insgesamt 3 Views ... nicht was ich wollte).

[mySplitView addSubview:myCustomView]; 

Wie stelle ich die richtige Seite meines SplitView richtig ein?

aktualisieren

Mit

[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView] 

scheint zu stehen, aber es ist ziemlich seltsam die geteilte Ansicht Ändern der Größe, wie kann ich das verhindern? In IB gibt es eine Möglichkeit, autoResizesSubviews zu deaktivieren, aber ich kann das nicht abwählen. Irgendwelche Ideen?

Antwort

9

Versuchen Sie, den Rahmen Ihrer neuen Ansicht auf den der alten Ansicht einzustellen, bevor Sie den Austausch durchführen.

+0

Funktioniert wunderbar. Vielen Dank! – jbrennan

+0

Wie machst du das? – JonF

+1

@JonF: 1. Holen Sie sich den Rahmen der alten Ansicht. 2. Setzen Sie den Rahmen der neuen Ansicht auf diesen. 3. Tauschen Sie dann die alte Ansicht gegen die neue aus. –

0

Sie können auch einen Blick auf BWToolkit werfen, die eine viel bessere Möglichkeit bietet, die Größen für die Seiten eines geteilten Bereichs festzulegen.

+0

Ich habe das schon mal angeschaut und werde es wahrscheinlich irgendwann benutzen. Jetzt möchte ich lernen, wie man Dinge auf die harte Art macht, damit ich sie besser verstehen kann. Ich finde, wenn ich mit Toolkits anfange, fühlt sich zu viel davon an wie Magie. Nachdem ich mich wohl fühle, werde ich es wahrscheinlich benutzen. Ich habe nichts als Gutes darüber gehört. – jbrennan