有没有办法让我区分我的视图控制器 viewDidAppear 方法是在用户切换选项卡后调用还是在导航控制器弹出后调用?
谢谢
viewWillAppear 和 viewDidAppear 都在导航弹出和标签栏开关上被调用,你可以通过使用标签栏委托方法来区分它(如果你还没有这样做,请实现它)
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
可以在这里设置一个 Bool 或其他东西。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
YOUR_VIEW_STATUS = YES;
}
-(void)viewWillAppear:(BOOL)animated
{
[self viewDidAppear:YES];
if(!YOUR_VIEW_STATUS)
{
//navigation pop or push
}
else
{
//tab bar switch
}
}