storyboard 介面跳轉方法
現將我所知道的storyboard 中的介面跳轉方式進行簡單總結:
跳轉到新的頁面
segue連線:在storyboard 中使用ctrl+滑鼠拖動方式可以在兩個頁面間拖出一條segue連線
1,直接跳轉:如果連線起點是一個按鈕(或者其他可以點選的控制元件),則無需寫程式碼就可以使點選按鈕事件觸發一次跳轉。
2,利用segueID: storyboard segue 可以設定一個segueID, 程式碼中可以利用performSegueWithIdentifier 方法進行觸發一個指定的segue跳轉。
程式碼如下:
[self performSegueWithIdentifier:@"goView2" sender:sender];
storyBoardID 跳轉:根據viewController 的storyboardID 可以獲得viewController 的instance 並進行跳轉
// 獲取指定的Storyboard,name填寫Storyboard的檔名
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// 從Storyboard上按照identifier獲取指定的介面(VC),identifier必須是唯一的
View3ViewController *view3 = [storyboard instantiateViewControllerWithIdentifier:@"view3"];
[self.navigationController pushViewController:view3 animated:YES];
此方法可用於跨storyboard的跳轉。
返回
對於modal 型別的segue 可以在程式碼中利用
- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^ __nullable)(void))completion NS_AVAILABLE_IOS(5_0);
返回,目前沒有不寫程式碼的方式能夠返回。
- (IBAction)onClickBack:(id)sender {
[self dismissViewControllerAnimated:YES completion:Nil];
}
對於push 型別的segue, storyboard 會自動在navigationbar上生成back 按鈕,但也可進行自定義。
此外,storyboard 可以與xib 混合使用,跳轉到xib頁面