頁面切換同樣也是不可或缺的基礎,但總不能樣樣都是從Storyboard來連連看吧!
實際上應用時,不可能將所有的按鈕都用連連看的方式去做,或者是在一些動態產生
變化按鈕,又要對應不同頁面時,就要使用這樣的方式來做。
Storyboard規劃如下
有兩個頁面
Viewcontroller
viewcontroller2
並沒有任何按鈕跟連線連到Viewcontroller2
接下來請選到Viewcontroller2,並且勾選use storyboard id
填入viewcontroller2 ,這個名稱可以隨意取,不過要記得你自己取了啥名,我自己會取
跟class一樣名稱居多。
viewcontroller.h
import viewcontroller2.h 要切換的頁面
宣告一個按鈕元件
viewcontroller.m
-(void)viewdidload();
同樣的初始化按鈕並且加到頁面當中
-(ibaction)actiontopage2();
這邊講解一下self.storyboard 也就是使用的storyboard 但是當你的project有其
他storyboard 你也可以指向其他的,既然知道了是哪個storyboard接著就要找到
是哪個頁面,之前設定的Storyboard ID就是填入"viewcontroller2"。
那麼為何這邊不使用 ViewController2 *view2 = [[ViewController2 alloc]init];
實際上也是可以的,但是差異在,當你的Storyboard有規劃元件或一些設計時,
會不顯示,他只會去做viewcontroller2 不管storyboard。
setmodatransitionstyle 是過場動畫。沒有這一行也行,會使用預設的過場方式。
presentviewcontroller 這一行就是實際上換頁面
viewcontroller2.h
宣告一個回到上頁的按鈕
viewcontroller2.m
-(void)viewdidload();
返回上頁按鈕初始化,加入頁面中
這邊很簡單的dismissviewcontrolleranimated 就可以回上頁了
執行畫面 頁面1
執行畫面 頁面2
有些舊的文章會用storyboard把返回上一頁,又連回去原本的頁面,我個人並不建議
用這樣的方式去做,在頁面多的時候,會耗費很多的記憶體,執行效率也會被拖垮
沒有留言:
張貼留言