【发布时间】:2013-06-14 09:57:14
【问题描述】:
我有 UITabBarController,其中一个选项卡指向 UINavigationController。 UINavigationController rootViewController 属于显示用户个人资料的 BGProfileView 类
在 viewDidAppear 中,我安排如果用户没有登录,它将推送一个 BGLogin 视图控制器。
[BGLogin alreadyLoggedin:self.navigationController hideBackButton:YES anddoBlock:^{
[self whatToDoAfterLogin];
}];
现在一切都很好,但有一个小问题。再按一下tab,UINavigationController会弹出BGLogin。
我不知道是什么导致 BGLogin 弹出。
如果我选择不同的选项卡,然后单击返回 BGP 文件选项卡,则不会发生这种情况。当我单击同一个活动选项卡时,就会发生这种情况。所以我在 BGPProfile 选项卡中,我再次单击该选项卡。基本上,当我选择应该什么都不做的活动选项卡时会发生这种情况。事实上,它对其他人没有任何作用。
我在 viewWillDisappear 中放了一个断点,这就是我看到的:
如您所见,viewDidAppear 由主循环调用。但是为什么mainloop调用viewDidAppear?通常有一个代码说类似 nav popViewController
【问题讨论】:
标签: objective-c uinavigationcontroller uitabbarcontroller