質問

UinavigationControllerを使用していくつかのViewControllersにプッシュしています。3番目のuisubviewcontrollerにいるときは、「poptorootviewcontroller」にコーディングしました。 しかし NavigationBar-Itemsは、1番目ではなく2番目のビューコントローラーにプッシュします。

  • 私はアニメーションの有無にかかわらずそれを試しましたが、何も変わることはありません。
  • 私はself.navigationcontroller.navigationbarポップバックと言いましたが、それは私のバーでは何もしません。

手伝ってくれてありがとう..

役に立ちましたか?

解決

私はあなたの質問に少し混乱していますが、これは助けになるはずだと思います。私が知る限り、UinavigationControllerに「戻る」ボタンを1つ以上戻すことはできません。したがって、PopTorootViewController関数を実行する別のボタンを追加する必要があります。このようなことを試してみてください:

UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(homeAction:)];

self.navigationItem.rightBarButtonItem = newButton;

これにより、ナビゲーションコントローラーの右側にボタンが追加されます。次のステップは、アクションで名前が付けられたものと呼ばれる関数を追加することです(この場合、「Homeaction」と呼ぶ必要があります)。これはそうです:

-(IBAction)homeAction:(id)sender {
      [self.navigationController popToRootViewControllerAnimated:YES];
}

これにより、ポップをコントローラーのルートに戻してください。また、.hファイルにibactionメソッドが必要ですが、それ以外は必要なことをすべて実行する必要があります。

他のヒント

NavigationControllerのuiviewcontrollersの配列で奇妙なことをしていない限り、方法は次のとおりです。

[self.navigationController popToRootViewControllerAnimated:YES];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top