NSRect frameRect = [placeHolder frame];
[viewFromNibB setFrame:frameRect];
[[placeHolder superview] addSubview:viewFromNibB];
[placeHolder removeFromSuperview];
funktioniert (natürlich...). DANKE.
Ich bin allerdings verwundert, daß ich trotz intensiver Suche nirgendwo in der Doku oder Beispielen im Netz drauf gestoßen bin.
Kleine Frage muß ich nachschieben:
Mit [placeHolder removeFromSuperview] verliere ich ja meinen Platzhalter. Will ich einen anderen View reinsetzen, oder den selben View nach Entfernen wieder reinsetzen, startet der Debugger. Code:
- (IBAction)entladen:(id)sender
{
[ViewAusNIbB removeFromSuperview];
}
- (IBAction)laden:(id)sender
{
NSRect frameRect = [ViewAusNIbA frame]; // Größe des ViewAusNIbB-Platzhalters
[ViewAusNIbB setFrame:frameRect]; // ViewAusNIbB auf diese Dim./Pos. setzen
[[ViewAusNIbA superview] addSubview: ViewAusNIbB]; // ViewAusNIbA auf CustomView setzen
[ViewAusNIbA removeFromSuperview]; // ViewAusNIbA vom Superview entfernen
Lasse ich [ViewAusNIbA removeFromSuperview] weg, kann ich den ViewAusNIbB problemlos raus- und reinsetzen. Spricht da was dagegen?
Doku - interessant...:
When considering memory management, the view hierarchy should be thought of as any other Cocoa collection object. When an item is added to a collection, it is retained. When it is removed, it is released.
Specifically, when you insert a view as a subview using the addSubview: or addSubview:positioned:relativeTo: methods, it is retained by the receiving view. Inversely, when you remove a subview from a view hierarchy by sending its superview a removeFromSuperview message, the view is released. The replaceSubview:with: method acts the same, releasing the view that is replaced and retaining the view that is inserted in its place.
Bin mal gespannt, ob mit replaceSubview:with: mein Outlet erhalten bleibt. Dann hüpf ich einfach von View zu View... (?)
No.
(nach wie vor fasziniert, wie wenig Code man braucht :))
 Nein, mal ernsthaft. Es kommt vergleichsweise selten vor, dass man zur Laufzeit an der View-Struktur herumfuhrwerkt. Es gibt ja noch andere Möglichkeiten zum Umschalten, insbesondere Tab-Views, wie ja auch im Buch beschrieben wird. Das klappt freilich nur innerhalb eines Nibs.
 Nein, mal ernsthaft. Es kommt vergleichsweise selten vor, dass man zur Laufzeit an der View-Struktur herumfuhrwerkt. Es gibt ja noch andere Möglichkeiten zum Umschalten, insbesondere Tab-Views, wie ja auch im Buch beschrieben wird. Das klappt freilich nur innerhalb eines Nibs.