Changer une vue depuis un nib dans le même view controller

yodarkyodark Membre
06:02 modifié dans API AppKit #1
Bonjour à  tous !

Je voudrais charger une vue depuis un fichier nib tout en gardant le même viewController (je veux garder toutes mes variables et actions).

J'ai fais

UIView * looseView = [[UIView alloc] initWithNibName:@&quot;looseView&quot; bundle:nil] ;<br />		[self setView:looseView];


Mais ca plante au moment de charger la vue. Comment faire pour charger une vue depuis un nib tout en gardant le même controlleur de vue ?

Réponses

  • 06:02 modifié #2
    MyViewController.h (Qui est ton nib que tu cherches à  charger) :
    <br />@interface MyViewController : NSObject&nbsp; {<br />IBOutlet UIView* view;<br />}<br />- (UIView*)view;<br />
    


    MyViewController.m :

    <br />- (id) init<br />{<br />&nbsp; &nbsp; if ((self = [super init]) != nil)<br />&nbsp; &nbsp; {<br />		NSArray*&nbsp; &nbsp; topLevelObjs = nil;<br />		<br />		topLevelObjs = [[NSBundle mainBundle] loadNibNamed:@&quot;looseView&quot; owner:self options:nil];<br />		if (topLevelObjs == nil)<br />		{<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [self release];<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self = nil;<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />		<br />&nbsp; &nbsp; }<br /><br /><br />&nbsp;  <br />&nbsp; &nbsp; return self;<br />}<br /><br />- (void)dealloc<br />{<br />[view release];<br />[super dealloc];<br />}<br /><br />- (UIView*)view<br />{<br />return view;<br />}<br />
    


    TonControllerQuiDoitChargerLaVue.m :
    <br />MyViewController * looseView = [[MyViewController alloc] init];<br />[self setView:looseView];<br />
    
  • yodarkyodark Membre
    06:02 modifié #3
    Si je comprends bien ton code tu es en train de dire au controlleur de vue que si il s'appelle lui meme alors qu'il charge looseView c'est ca ?

    par contre j'ai pas bien compris

    @interface MyViewController : NSObject  {
    IBOutlet UIView* view;
    }
    - (UIView*)view;


    view est un outlet ? il faut que je le relie a qqch dans IB ? Que dois-je faire avec ca ?

    J'ai tenté tel quel le code que tu m'a donné et j'obtiens un écran noir.

Connectez-vous ou Inscrivez-vous pour répondre.