У меня есть подкласс UIViewController, называемый TripViewController. Этот класс имеет следующий метод:
- (void)lockScreen {
LockOverlay *lockOverlay = [[LockOverlay alloc] init];
[self presentModalViewController: lockOverlay animated:YES];
}
LockOverlay также является подклассом UIViewController, определяемым следующим образом (остальная часть кода является просто автоматически генерируемыми заглушками):
// 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];
}
Когда вызывается lockScreen, программа входит в бесконечный цикл, и loadView вызывается снова и снова.
Итак, что я здесь не так делаю? У меня раньше была такая ошибка ... В App Delegate я создаю TabBarController, и в одном из представлений есть NavigationController. Я получил такую же ошибку, когда попытался добавить View вместо NavigationViewController в массив tabBar. Я предполагаю, что эта проблема похожа, и я не толкаю новый ViewController в нужное место, но это только предположение.