iOS開發之--使用storyboard進行跳轉


iOS開發中使用故事板進行開發是非常高效的一種方式,雖然有這樣那樣的問題,但是不得不承認,使用sb可以在最短的時間內完成整個項目的布局,節約開發者大量的時間,而且便於修改,非常直觀,雖然可能不太靈活,但是方便!

下面就來總結下常用的跳轉方式:

一、純代碼界面跳轉方式
1.導航控制器(UINavigationController)

 

[self.navigationController pushViewController:NewVC animated:YES];//跳轉到下一界面
[self.navigationController popViewControllerAnimated:YES];//返回上一界面

 

 2.使用模態彈出的方式(UIViewController)

 

[self presentViewController:NewVC animated:YES completion:nil];//present到下一界面
    [self dismissViewControllerAnimated:YES completion:nil];//推出

 

3.StroryBoard的連線跳轉代碼實現,首先在storyBoard上創建兩個視圖,中間用線連接,選中中間的線段設置線的Identifider,如下圖:

1  [self performSegueWithIdentifier:@"NewVC" sender:nil];

傳值方式:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    //通過segue判斷要跳轉到哪個頁面
    if ([segue.identifier isEqualToString:@"NewVC"]) {
        XXXController * destinaVC = segue.destinationViewController;
    }
}

跳轉到目標視圖之后返回根據UINavigationController和UIViewController判斷,可以根據情況自定返回方式

 二、StoryBoard界面跳轉

 1.storyboard生成ViewController並添加按鈕+storyboard中Action Segue使用modal跳轉到另一個storyboard生成的ViewController;-->正常,可以進行跳轉

2.storyboard生成ViewController並添加按鈕+storyboard中在第一個ViewController中生成導航欄+storyboard中Action Segue使用push跳轉到另一個storyboard生成的ViewController;-->正常,可以進行跳轉,並可以使用導航欄自帶的返回按鈕返回上一個頁面 

 3.storyboard生成ViewController並添加按鈕+storyboard中不添加任何導航欄+使用presentViewController跳轉到另一個xib生成的ViewController;-->正常,可以進行跳轉

 4.storyboard生成ViewController並添加按鈕+storyboard中添加導航欄+使用pushViewController跳轉到另一個xib生成的ViewController;-->正常,可以進行跳轉,並可以使用導航欄自帶的返回按鈕返回上一個頁面

  5.xib生成ViewController並添加按鈕+代碼生成導航欄(重點)+使用pushViewController跳轉到另一個xib生成的ViewController;-->正常,可以進行跳轉,並可以使用導航欄自帶的返回按鈕返回上一個頁面

三、系統的方法,利用id加載的方式來進行跳轉,代碼如下:

 

UIStoryboard *mainSB = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
SelfDetailViewController *selfdetailVC = [mainSB instantiateViewControllerWithIdentifier:@"ChangeSecondPWViewController"];
[self.navigationController pushViewController:selfdetailVC animated:YES];

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM