iOS_UI_14_可視化StoryBoard

第十四章 可視化StoryBoard

1.Xib和StoryBoard的對比
    相同點:都屬于IB編程的方式,可以快速構(gòu)建GUI。
    不同點:xib側(cè)重于單文件(單獨的控制器或者視圖)編輯,storyBoard側(cè)重于多頁面關(guān)聯(lián)。storyBoard可以直觀的梳理出頁面間的邏輯,并且所有頁面跳轉(zhuǎn)邏輯均可在- (void)prepareforSegue:(UIStoryBoardSegue*)segue:(id)sender方法完成,方便界面間數(shù)據(jù)統(tǒng)一管理
2.注意事項:不需要手動創(chuàng)建window,只需將創(chuàng)建好的StoryBoard在應(yīng)用程序配置General中設(shè)置為Main Interface
3.我們可以通過選中控制器,修改 (is initial View Controller),或者直接移動表示程序入口的箭頭
4.利用StoryBoard繪制自定義單元格
    1.創(chuàng)建自定義cell是選中左側(cè)TableViewCell
    2.繪制自定義UI界面
    3.設(shè)置重用標識符
    4.將storyBoard文件關(guān)聯(lián)至對應(yīng)的UITableViewControll'er和UITableViewCell子類(自己創(chuàng)建的類)
    5.在UITableViewController中完成代碼書寫:設(shè)置section和row數(shù)量,設(shè)置cell,根據(jù)實際情況調(diào)整cell的高度
    6.注意:cell不再需要注冊
5.StoryBoard頁面跳轉(zhuǎn)分為兩種
    1.代碼方式:使用代碼通過控制器標識來跳轉(zhuǎn)。比如在當(dāng)前頁面的某一個事件中跳轉(zhuǎn)到一個標示為“customVC”的控制器頁面中:[self performSegueWithIdentifier:@"customVC" senderL:nil];
    2.連線方式:直接使用拖拽可以給按鈕連線關(guān)聯(lián)兩個頁面:選中按鈕,按住control,從按鈕向下一級頁面連線,按鈕不需要添加響應(yīng)方法
    3.方式:
        push:push出下個界面
        modal:模態(tài)出下個界面
        custom:自定義,需要我們自己實現(xiàn)頁面跳轉(zhuǎn),需要自定義segue
6.segue:可視化編程中連接兩個頁面的線條,稱為segue
    1.iPhoneGUI開發(fā)中類型主要有三種,包括push、modal、custom
    2.其中custom需要我們自定義segue來完成頁面間跳轉(zhuǎn)
    3.segue有三個重要屬性:標識符,源控制器,目標控制器
7.自定義segue
    1.新建一個類繼承于UIStoryboardSegue
    2.選中前一個控制器,按住control鼠標輔助完成連線,選擇custom
    3.選中自定義segue,設(shè)置segue的identifier以及關(guān)聯(lián)類
    4.在segue類里面重寫perform方法(界面間跳轉(zhuǎn)默認執(zhí)行的方法),自定義跳轉(zhuǎn)效果
      - (void)perform{
          //獲取源控制器
          UIViewController *v1 = (UIViewController*)self.sourceViewController;
          //獲取目標控制器
          UIViewController *v2 = (UIViewController*)self.destinationViewController;
          //自定義頁面切換效果
          [UIView transitionFromView:v1.view toView:v2.view duration: 10 options:UIViewAnimationOptionTransitionCurlDown completion:^(BOOL finished) {
          //動畫完成后執(zhí)行的部分
          ???????????????????? }];
      }
8.界面?zhèn)髦?    storyboard界面間跳轉(zhuǎn)會執(zhí)行
        - (void)prepareForSegue:(UIStoryboardSeugue*)segue sender:(id)sender方法,方便界面間數(shù)據(jù)統(tǒng)一管理。
    依據(jù)不同的segue標識符來完成數(shù)據(jù)處理
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        CustomViewController *customVC = (CustomViewController*)segue.destinationViewController;
         if ([segue.identifier isEqualToString:@"push"]) {
             customVC.tempString = self.textField.text;
           }else{ NSLog(@"其他情況處理??????????????????");
        } 
        
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容