ストーリーボードで塗りつぶされた1つのVCだけで任意の深さに反復するには、ストーリーボードを使用してトップレベルをペイントします。テーブルvcはUITableViewサブクラスで、ストーリーボードにストーリーボード識別子(たとえば、 "MyCustomTableVC")があります。
MyCustomTableVC公共財産を与える(例えば、ModelItem *ノード)が提示しなければならないモデル内のどのノードを示しています。代わりに、ストーリーボードseguesの
、テーブルのVCはdidSelectRowAtIndexPath
を取得し、それ自体の別のインスタンスを作成している... indexPathであなたのモデルで選択した項目(項目にnewVCモデルのノードを設定し
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
// Imagine it's called MyCustomTableVC
MyCustomTableVC *newVC = (MyCustomTableVC*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"MyCustomTableVC"];
.row)、および、それにプッシュ...
// making up a lot of stuff about your model here, but hopefully you get the idea...
newVC.node = [self.model objectAtIndex:indexPath.row];
[self.navigationController pushViewController:newVC animated:YES];
このアプローチは、すべてのナビゲーションコントローラの動作を得ることの利点を持っている:アニメーションプッシュとポップ、バックボタンなど
私はこのソリューションを試してみましたが、機能しますが、ナビゲーションバーが消えてしまったので、以前のレベルの階層に戻る方法はありません。何かご意見は? – jarz
私が考えることができるのは、あなたがself.navigationController ** push **をしていることを確認することだけです。 – danh
@danhノードによってはどういう意味ですか?迅速に3でこれをやる方法を偶然知っていますか? – Number1