我有三個視圖控制器,說root,middle,last。我想從lastViewController
回到rootViewController
。如何解除中間viewController並返回到rootViewController
我試過自定義代理和NSNotificationCenter
。但是,回到middleViewController
閃爍一秒鐘(這是viewWillDisappear
被稱爲)。 我正在使用presentViewController
/dismissViewController
而不是導航。我不想讓那個middleViewController
閃現。
我有下面的代碼在rootViewCotroller:
-(void)viewDidLoad {
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(actionBackToRoot) name:@"BackToRoot" object:nil];
}
-(void)actionBackToRoot : (NSNotification *) notification{
NSDictionary *userInfo = notification.userInfo;
UIViewController *lastViewController = [userInfo objectForKey:@"viewController"];
[middleViewController dismissViewControllerAnimated:NO completion:nil];
[lastViewController dismissViewControllerAnimated:NO completion:nil];
}
在lastViewController的關閉按鈕,如下代碼的點擊 -
[dict setValue:self forKey:@"viewController"];
[[NSNotificationCenter defaultCenter]postNotificationName:@"BackToRoot" object:nil userInfo:dict];
有沒有人有這方面的解決方案? 在此先感謝。
顯示您的導航代碼.. – vaibhav