有什么方法可以区分我的 View Controller viewDidAppear 方法是在用户切换选项卡后调用还是在导航 Controller 弹出后调用?
谢谢
最佳答案
viewWillAppear 和 viewDidAppear 都会在 navigation pop 和 tabbar switch 时被调用,你可以通过使用 tab bar delegate 方法来区分它(如果你还没有实现它)
- (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
}
}
关于ios - viewDidAppear 选项卡切换 vs nav pop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17694462/