私はあなたの質問に少し混乱していますが、これは役立つはずだと思います。私の知る限り、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メソッドを追加する必要がありますが、それ以外は、必要なすべてを実行する必要があります。