我的应用程序是基于选项卡的应用程序,在某些选项卡中有导航控制器。
如果我在视图中导航,并且当我在第二个视图(在导航中)并更改选项卡时,当我再次单击选项卡时,它会在我完成后从第二个视图开始。
所以,我想要的是在更改选项卡时,
popToRootViewControllerAnimated:
影响。所以,我总是从第一个视图开始。
我怎样才能做到这一点?
谢谢!
根据 Bart Whiteley 的回答,我的 MainTab.h,我在我的项目中添加了一些代码:
#import <UIKit/UIKit.h>
@interface MainTab : UITabBarController <UITabBarControllerDelegate,UITabBarDelegate>
@end
MainTab.m:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"this class is loaded");
self.tabBarController.delegate = (id)self;
[self setDelegate:self];
}
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"changing tab");
if ([viewController isKindOfClass:[UINavigationController class]]) {
[(UINavigationController*)viewController popToRootViewControllerAnimated:YES];
}
}
解决了!我用代码编辑我的帖子
谢谢!