J'ai une sous-classe UIViewController appelée TripViewController. Cette classe a la méthode suivante:Ajout d'une vue à presentModalViewController
- (void)lockScreen {
LockOverlay *lockOverlay = [[LockOverlay alloc] init];
[self presentModalViewController: lockOverlay animated:YES];
}
LockOverlay est également une sous-classe UIViewController, défini comme suit (le reste du code est juste talons auto-générés):
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
CGRect frame = CGRectMake(0, 0, 225, 37);
UIImageView *sliderBackground = [[UIImageView alloc] initWithFrame:frame];
sliderBackground.image = [UIImage imageNamed:@"slider-bar.png"];
UIImageView *unlock = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"unlock.png"]];
[sliderBackground addSubview:unlock];
frame = CGRectMake(10, 360, 225, 37);
Slider *slider = [[Slider alloc] initWithFrame:frame];
[slider addSubview:sliderBackground];
slider.unlock = unlock;
[self.view addSubview:slider];
}
Lorsque LockScreen est appelée, le programme va dans une boucle infinie, et loadView est appelé encore et encore.
Alors, qu'est-ce que je fais mal ici? J'ai déjà eu un bug comme ça ... Dans l'App Delegate, je crée un TabBarController, et l'une des vues a un NavigationController. J'ai eu le même genre de bogue quand j'ai essayé d'ajouter la Vue au lieu du NavigationViewController au tableau tabBar. Je suppose que ce problème est similaire et je ne pousse pas le nouveau ViewController au bon endroit, mais c'est juste une supposition.