私のアプリはタブベースのアプリケーションです。一部のタブにはナビゲーションコントローラーがあります。
ビュー内を移動し、2番目のビュー(ナビゲーション内)にいてタブを変更した場合、タブをもう一度クリックすると、終了時に2番目のビューから開始されます。
だから、私が欲しいのは、タブを変更するときです。
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];
}
}
解決しました!コードで投稿を編集します
ありがとう!