我有一個名爲TripViewController的UIViewController子類。這個類有下面的方法:使用presentModalViewController添加視圖
- (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推到正確的位置,但這只是一個猜測。