私が動作しているようだUIViewControllersのカテゴリを書きました:
- (void) popToInitialViewController
{
UIViewController *vc;
if (self.navigationController != nil) {
vc = self.navigationController;
[self.navigationController popToRootViewControllerAnimated:NO];
[vc popToInitialViewController];
}
else if (self.tabBarController != nil) {
vc = self.tabBarController;
[vc popToInitialViewController];
}
else if (self.presentingViewController != nil) {
vc = self;
while (vc.presentingViewController != nil)
vc = vc.presentingViewController;
[vc dismissModalViewControllerAnimated:NO];
[vc popToInitialViewController];
}
}
コメントが理解している:)
それがうまくいかなかった理由を示すためにダイアグラムで更新しました。 –
ああ、いいダイアグラムを参照してください。また、NSNotificationCenterを使用してログアウト時に通知を送信する必要があります。あなたの最初のモーダルビューコントローラは、通知を受信してそれを受信したときに却下することができます。 –