4 つのビューを含むタブ バー コントローラーがあります。3 つのビューは非常に基本的なものです。データを含む単なるテーブルビュー (これらのビューの 1 つを SimpleTableView と呼びます)。4 番目のビューは、ビューに 2 つのボタンがあるナビゲーション コントローラーを指しています (このビューを MainNavView と呼びます)。両方のボタンは異なるビュー (ViewA と ViewB と呼びましょう) を指し、ユーザーは Navigationbar の戻るボタンを押すと、2 つのボタン (MainNavView) でビューに戻ることができます。よく働く。
ここに私の問題があります。SimpleTableView の didSelectRowAtIndexPath で、Navigation Controller の ViewA を表示したいと考えています。ユーザーがそのページに到達すると、ナビゲーション バーの [戻る] ボタンを押すと、MainNavView が表示されます。
MainNavView から ViewA への移動は、(プッシュ) セグエで行われます。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"segueIdentifier" sender:nil];
}
MainStoryBoard には、「segueIdentifier」と呼ばれる MainNavView 内の tableviewcell から ViewA へのセグエが含まれています。
SimpleTableView 内の tableviewcell から ViewA への別のセグエを作成し、このコードを再度実行してみました:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"segueIdentifier" sender:nil];
}
しかし、その後、このエラーが発生します
NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController
SimpleTableViewをNavigation Controller内に埋め込むと、このエラーは簡単に修正されますが、戻るボタンがユーザーをMainNavViewではなくSimpleTableViewに戻すため、これは私が望むものではありません。
すべてが明確で、誰かがこのナビゲーションの問題を解決してくれることを願っています. これは、プッシュの代わりにモーダルセグエで可能ですか?