2009-02-24 8 views

Répondre

2

Oui, c'est possible. Créez simplement une nouvelle vue à l'aide d'un contrôleur de vue et créez une instance de cette vue dans votre classe. Ensuite, dans une ibaction, vous pouvez supprimer et ajouter des sous-vues. C'est juste un moyen rapide et facile tho, vous pouvez entrer dans beaucoup plus de détails la façon dont vous gérer chaque point de vue, etc.

Modifier sur demande: Dans votre classe, vous devez créer une instance de celui-ci dans l'interface comme ceci:

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

ensuite faire une instance du délégué de l'application dans le IBAction comme ceci:

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

Et alors vous pouvez le faire pour passer d'une vue à l'autre:

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

merci pour ur réponse. pouvez-vous me donner un exemple ou un exemple de code? – Nasir

1

Vous pouvez faire quelque chose comme ce qui suit pour ajouter une vue programatically:

 //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]; 
Questions connexes