2009-02-24 1 views

risposta

2

Sì tipo di possibile. Basta creare una nuova vista usando un controller di visualizzazione e creare un'istanza di quella vista nella classe. Quindi in una procedura puoi rimuovere e aggiungere sotto-visualizzazioni. Questo è solo un tho modo facile e veloce, si può entrare in molti più dettagli di come si dovrebbe gestire ogni vista, ecc

Edit su richiesta: Nella classe, si dovrebbe creare un'istanza di esso in l'interfaccia in questo modo:

MyClass *myClass; (make sure to alloc and init in the init or awakeFromNib method) 

poi fare un'istanza del delegato app nel IBAction come questo:

MyAppDelegate *myAppDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 

E allora si può fare questo per passare da una vista all'altra:

[self removeFromSuperView]; (or self.view in case this is a view controller) 
[[myAppDelegate window] addSubview:myClass]; 
+0

grazie per ur risposta. puoi darmi qualche esempio o codice di esempio? – Nasir

1

Si può fare qualcosa di simile a quanto segue per aggiungere una vista programmatico:

 //If you create controllers via XCode, just link them in the .h file with IBOutlet 
    UIViewController *aViewController = [[UIViewController alloc] initWithNibName:@"YourNibName" bundle:[NSBundle mainBundle]]; 
    self.viewController = aViewController; 
    [aViewController release]; 
    // Add the view controller's view as a subview of the window 
    UIView *controllersView = [viewController view]; 
    [window addSubview:controllersView]; 
    [window makeKeyAndVisible];