2010-06-16 6 views
1

Comment ajouter une sous-vue lorsque la nouvelle vue est dans un fichier xib différent?Ajouter NSView depuis une autre plume

La classe pour les différents nib est un NSViewController et j'utilise self = [super initWithNibName:@"NewView" bundle:nil]; pour charger la pointe

Puis-je faire quelque chose comme:

NewView *nv = [NewView new]; 
[oldView removeFromSuperView]; 
[mv addSubview:[nv theView]]; 

ou dois-je faire quelque chose de différent

+0

Lorsque vous dites "la classe pour les différentes plumes est un NSViewController", voulez-vous dire le propriétaire du fichier? –

Répondre

1

Oui, c'est correct, pourvu que NewView soit une sous-classe de NSViewController. Cela dit, vous ne devriez pas nommer une classe de contrôleur NewView, car ce n'est pas une vue. Votre sous-classe de NSViewController devrait vraiment s'appeler NewViewController.

Vous pouvez aussi le faire:

[[oldView superview] replaceSubview:oldView withView:nv]; 

Bien sûr, cela suppose que votre fichier nib NewView a son ensemble votre fichier de sous-classe de propriétaire NSViewController.

Questions connexes