要使用故事板上繪製的單個VC來遞歸到任意深度,請使用storyboard來繪製頂層:具有根視圖控制器的導航控制器。表格vc應該是一個UITableView子類,並在故事板中有一個故事板標識符(比如「MyCustomTableVC」)。
給MyCustomTableVC一個公共屬性(比如,ModelItem *節點),表示它應該呈現哪個節點模型。
而是故事板塞格斯的,當表VC變得didSelectRowAtIndexPath
,有它創造自己的另一個實例...
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
// Imagine it's called MyCustomTableVC
MyCustomTableVC *newVC = (MyCustomTableVC*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"MyCustomTableVC"];
設置NEWVC模型節點選擇的項目(在你在indexPath型號立項.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];
這種方法讓所有的導航控制器行爲的好處:動畫push和pop,後退按鈕等
我試過這個解決方案,它的工作原理,但導航欄消失了,所以我沒有辦法回到以前的層次結構。有什麼想法嗎? – jarz 2015-02-18 14:16:24
我唯一能想到的就是確保你做self.navigationController ** push **,不存在。 – danh 2015-02-18 16:49:15
@danh節點是什麼意思?你會偶然知道如何在迅速3中做到這一點嗎? – Number1 2017-02-14 15:45:26