我們常常有這種需求,有A,B,C三個視圖器模蜡,依次是從A中跳轉(zhuǎn)到B漠趁,從B中跳轉(zhuǎn)到C,那么問題來了忍疾,如何從C直接跳轉(zhuǎn)到A呢
首先在A的視圖控制器中添加一個方法:
- (IBAction)unwindMethod :(UIStoryboardSegue *)sender{
}
打開故事板闯传,選擇C控制器,連接C的button和exit
現(xiàn)在運行程序卤妒,從A跳轉(zhuǎn)到B甥绿,從B跳轉(zhuǎn)到C字币,點擊C Button看看是不是直接就跳到了A呢
我們還可以這樣,在B中添加一短跟A中一樣的方法簽名的如我隨便起個名字叫jumpToB
- (IBAction)jumpToB:(UIStoryboardSegue *)sender{
}
刪除剛才C中的連線重新連接到Exit共缕,可以發(fā)現(xiàn)多出一個Action Segue
重新運行洗出,可以發(fā)現(xiàn)從C跳轉(zhuǎn)到了B,依次類推你可以在storyboard是實現(xiàn)任意展線骄呼。
讓我們試試一個更強(qiáng)大的功能共苛,如果不同的storyboard會怎么樣呢判没,還能這么跳轉(zhuǎn)嗎蜓萄,答案是肯定的,實驗一下澄峰,新建一個test2.storyboard嫉沽,添加一個button D,我們先連一下線試試:
居然還是都檢測出來了俏竞,我們選擇一個試試看看能跳轉(zhuǎn)過去不
完成C控制器中的代碼跳轉(zhuǎn)
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"test2" bundle:[NSBundle mainBundle]];
UIViewController *vcd = [storyboard instantiateInitialViewController];
[self.navigationController pushViewController:vcd animated:YES];
運行試試
我和小伙伴都驚呆了绸硕,強(qiáng)大的storyboard
源代碼地址