StoryBoard初探(一):實現簡單的頁面跳轉與返回

前言

蘋果推出故事版很久了,一直沒有深入學習過。最近打算嘗試用StoryBoard做高保真交互App原型,決定學習下。相對於IB來講,StoryBoard幾乎不用手寫代碼,便能實現頁面交互,這一點很適合會Xcode的同學用來做快速原型開發。

實現簡單的頁面跳轉

新建工程,選擇Single View Application,Xcode生成的工程模板中會自動使用StoryBoard.打開Main.storyboard文件,可以像IB一樣,拖拽視圖對象到ViewController的View上。如圖,簡單的加一個頁面標示UILabel標籤和一個UIButton按鈕:



向主窗口中拖拽一個UIViewController對象,作爲第二個頁面,按住Ctrl鍵,拖拽按鈕連線新添加的頁面



鬆開鼠標在彈出的黑色懸浮框列表中選擇Action Segue的類型爲:Modal,這樣在點擊橙色按鈕之後,頁面2將從頁面1底部彈出



頁面2返回頁面1,在頁面2上添加一個按鈕,在ViewController.m文件中實現一個帶UIStoryBoardSegue類型參數的IBAction方法

- (IBAction)unwindSegue:(UIStoryboardSegue *)sender{
    NSLog(@"unwindSegue %@", sender);
}

Ctrl連線頁面2上的按鈕到ViewController的Exit,並關聯unwindSegue:方法





模擬器中的運行效果:


代碼實現

頁面1跳轉頁面2:先清除按鈕連線,然後Ctrl連線ViewController到ViewController2,選擇Modal類型



選中ViewController與ViewController2之間的連接,並設置連接的Identifier爲:2vc2


在ViewController.m中添加代碼,並關聯按鈕
- (IBAction)presentVC2:(id)sender {
    NSLog(@"代碼實現頁面跳轉");
    [self performSegueWithIdentifier:@"2vc2" sender:sender];
}
頁面2返回頁面1,先清除按鈕連線,然後在ViewController2.m中添加IBAction方法並關聯返回按鈕:
- (IBAction)backAction:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章