iOS界面間的跳轉思考

本文基于OC語言,淺淺探索一下iOS幾種跳轉方式。先看一下本人做的思維導圖。

iOS界面幾種跳轉方式

iOS分可視化開發(fā)(storyboard和xib)和代碼開發(fā)兩種方式。當我們只使用某一種開發(fā)方式進行開發(fā)的時候,界面跳轉可能不會遇到什么問題。但是當我們混合開發(fā)的時候,界面間的跳轉有時候會遇到一些莫名其妙的問題。而實際開發(fā)項目中,經常因實際需求混合各種開發(fā)方式。因此,本人羅列了一下界面間跳轉可能遇到的九種情況。經過測試,實際上有三種跳轉的寫法。分別是:

1.xxx界面向storyboard界面跳轉

2.xxx界面向xib界面跳轉

3.xxx界面向代碼界面跳轉

現在,我們來一一測試一下。xxx界面向storyboard界面跳轉。先創(chuàng)建一個工程,如圖:

創(chuàng)建工程

然后再新建一個storyboard

新建storyboard

storyboard創(chuàng)建完是空白的

storyboard創(chuàng)建之后的樣子

我們要拖一個UIViewcontroller進storyboard內

往內拖

拖完之后的界面我們就比較熟悉了

拖完UIViewcontroller的樣子

再創(chuàng)建一個UIVIewController的類

創(chuàng)建第二個storyboard關聯(lián)的VC

選中故事板的類,把剛剛創(chuàng)建的類和storyboard的UIVIewcontroller關聯(lián)起來

關聯(lián)storyboard和VC

再順便寫一下storyboard的ID,等下會用到

storyboard的VC的ID

關聯(lián)完之后我們回到第一個UIViewController寫跳轉方法,為了方便展示跳轉效果,我們寫個btn

創(chuàng)建按鈕

//故事板跳故事板

UIButton*btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

[self.viewaddSubview:btn];

btn.backgroundColor= [UIColorredColor];

[btnaddTarget:selfaction:@selector(btnClick)forControlEvents:UIControlEventTouchDragInside];

btn.frame=CGRectMake(100,100,100,100);

接下來我們在btn里面寫跳轉方法

寫跳轉方法

//故事板--跳到--》故事板

- (void)btnClick

{

UIStoryboard*myStoryboard = [UIStoryboardstoryboardWithName:@"Second"bundle:nil];

UIViewController*secondVC = [myStoryboard ?instantiateViewControllerWithIdentifier:@"secondViewController"];

[selfpresentViewController:secondVCanimated:YEScompletion:nil];

NSLog(@"跳轉");

}

這樣就完成了跳轉,我們運行測試一下試試

運行模擬器
點擊按鈕實現跳轉

這樣我們就實現了xxx界面向storyboard界面跳轉。下面我們來看看另一種跳轉方式 xxx界面向xib界面跳轉

首先,我們先創(chuàng)建一個xib界面

xib文件打上勾

創(chuàng)建完,我們開始來準備跳轉,跳轉之前給xib設置一個背景色,方便區(qū)分

設置背景顏色

好了,回到最初的ViewController來實現跳轉到xib文件去,首先,導入xib那個類的頭文件,還有再寫個按鈕來實現跳轉

導入頭文件,創(chuàng)建btn

#import"XIBViewController.h"

//故事板跳xib

UIButton*btnXIB = [UIButtonbuttonWithType:UIButtonTypeCustom];

[self.viewaddSubview:btnXIB];

btnXIB.backgroundColor= [UIColorblueColor];

[btnXIBaddTarget:selfaction:@selector(btnXIBClick)forControlEvents:UIControlEventTouchDragInside];

btnXIB.frame=CGRectMake(100,210,100,100);

來實現跳轉一下

編寫btn的點擊方法

//故事板--跳到--》xib

- (void)btnXIBClick

{

XIBViewController*xibVC=[[XIBViewControlleralloc]initWithNibName:@"XIBViewController"bundle:nil];

[selfpresentViewController:xibVCanimated:YEScompletion:nil];

}

我們來運行測試一下效果。

運行效果

藍色按鈕是跳轉到xib界面的,我們點擊一下看看

實現跳轉到xib界面

點擊后實現跳轉。我們這樣就實現了xxx界面向xib界面跳轉。最后我們再來看看最普遍的跳轉方式 xxx界面向代碼界面跳轉。

同樣的,先創(chuàng)建一個UIViewController,我們修改一下它的背景顏色為綠色,然后進行跳轉

創(chuàng)建一個純代碼界面

self.view.backgroundColor=[UIColorgreenColor];

回到UIViewController來寫跳轉方式

編寫跳轉方法

#import"CodeViewController.h"

//故事板跳code

UIButton*btnCode = [UIButtonbuttonWithType:UIButtonTypeCustom];

[self.viewaddSubview:btnCode];

btnCode.backgroundColor= [UIColorpurpleColor];

[btnCodeaddTarget:selfaction:@selector(btnCodeClick)forControlEvents:UIControlEventTouchDragInside];

btnCode.frame=CGRectMake(100,320,100,100);

//故事板--跳到--》code

- (void)btnCodeClick

{

CodeViewController*codeVC = [[CodeViewControlleralloc]init];

[selfpresentViewController:codeVCanimated:YEScompletion:nil];

}

運行測試一下

運行效果

點擊跳轉按鈕

點擊按鈕跳轉成功

成功實現了xxx界面向代碼界面跳轉。以上就是iOS界面的幾種不同開發(fā)界面之間的跳轉方式。希望對看到此博客的人有所幫助。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.自定義控件 a.繼承某個控件 b.重寫initWithFrame方法可以設置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,484評論 2 4
  • *7月8日上午 N:Block :跟一個函數塊差不多,會對里面所有的內容的引用計數+1,想要解決就用__block...
    炙冰閱讀 2,553評論 1 14
  • 溫一段親情 憶一場心暖 想一下爸媽 打一通電話 聊一會家常 寫成微詩集 記錄生活美篇 愛永甜蜜蜜 野草詩會http...
    六月天氣閱讀 178評論 22 26
  • 深秋晚10點,天很涼,老公和老婆剛鉆進開過電熱毯的被窩,被窩里好暖和好舒服啊。兩個手機并排放在窗前白色的書桌上,書...
    櫻子先生閱讀 250評論 3 3