我有一個名爲UserInfoViewController一個UIViewController類,什麼時候會出現,這樣的parentViewControoler使用代碼:presentModalViewController和initWithRootViewController
UserInfoViewController *rvc = [[UserInfoViewController alloc] initWithNibName:@"UserInfoViewController" bundle:nil];
rvc.user = user;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:rvc];
nc.navigationBarHidden = YES;
[self presentModalViewController:nc animated:YES];
[rvc release];
[nc release];
有時UserInfoViewController將推動或呈現另一個視圖控制器,所以棧應該如:
Root VC
|
A (push)
|
| - B (present)
|
|-- C (push)
|
|- D (push)
|
|- E (present)
B,E是類UserInfoViewController的。
問題是,當在視圖控制器E上時,我想關閉所有viewcontrollers並返回到Root VC,但我無法一次處理它們。
我試圖popToRootViewControllerAnimated,dismissModalViewControllerAnimated,setViewControllers,但他們沒有工作。
我也把通知偵聽,當需要返回根VC,剛剛張貼通知,並在監聽器選擇,這樣做:
[self.navigationController popToRootViewControllerAnimated:NO];
[self.presentingViewController dismissModalViewControllerAnimated:NO];
然後CD是封閉的,但** BE **仍然存在。
有什麼建議嗎?