美文网首页
iOS_UI_14_可视化StoryBoard

iOS_UI_14_可视化StoryBoard

作者: 孤城99 | 来源:发表于2016-12-09 21:51 被阅读0次

    第十四章 可视化StoryBoard

    1.Xib和StoryBoard的对比
        相同点:都属于IB编程的方式,可以快速构建GUI。
        不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyBoard侧重于多页面关联。storyBoard可以直观的梳理出页面间的逻辑,并且所有页面跳转逻辑均可在- (void)prepareforSegue:(UIStoryBoardSegue*)segue:(id)sender方法完成,方便界面间数据统一管理
    2.注意事项:不需要手动创建window,只需将创建好的StoryBoard在应用程序配置General中设置为Main Interface
    3.我们可以通过选中控制器,修改 (is initial View Controller),或者直接移动表示程序入口的箭头
    4.利用StoryBoard绘制自定义单元格
        1.创建自定义cell是选中左侧TableViewCell
        2.绘制自定义UI界面
        3.设置重用标识符
        4.将storyBoard文件关联至对应的UITableViewControll'er和UITableViewCell子类(自己创建的类)
        5.在UITableViewController中完成代码书写:设置section和row数量,设置cell,根据实际情况调整cell的高度
        6.注意:cell不再需要注册
    5.StoryBoard页面跳转分为两种
        1.代码方式:使用代码通过控制器标识来跳转。比如在当前页面的某一个事件中跳转到一个标示为“customVC”的控制器页面中:[self performSegueWithIdentifier:@"customVC" senderL:nil];
        2.连线方式:直接使用拖拽可以给按钮连线关联两个页面:选中按钮,按住control,从按钮向下一级页面连线,按钮不需要添加响应方法
        3.方式:
            push:push出下个界面
            modal:模态出下个界面
            custom:自定义,需要我们自己实现页面跳转,需要自定义segue
    6.segue:可视化编程中连接两个页面的线条,称为segue
        1.iPhoneGUI开发中类型主要有三种,包括push、modal、custom
        2.其中custom需要我们自定义segue来完成页面间跳转
        3.segue有三个重要属性:标识符,源控制器,目标控制器
    7.自定义segue
        1.新建一个类继承于UIStoryboardSegue
        2.选中前一个控制器,按住control鼠标辅助完成连线,选择custom
        3.选中自定义segue,设置segue的identifier以及关联类
        4.在segue类里面重写perform方法(界面间跳转默认执行的方法),自定义跳转效果
          - (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) {
              //动画完成后执行的部分
              􏲑􏰶􏲭􏰙􏳠􏱫􏲯􏱏􏲺􏴮 }];
          }
    8.界面传值
        storyboard界面间跳转会执行
            - (void)prepareForSegue:(UIStoryboardSeugue*)segue sender:(id)sender方法,方便界面间数据统一管理。
        依据不同的segue标识符来完成数据处理
        - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
            CustomViewController *customVC = (CustomViewController*)segue.destinationViewController;
             if ([segue.identifier isEqualToString:@"push"]) {
                 customVC.tempString = self.textField.text;
               }else{ NSLog(@"其他情况处理􏰰􏲜􏰛􏳓􏳢􏱪􏳳􏳳􏳳");
            } 
            
        }

    相关文章

      网友评论

          本文标题:iOS_UI_14_可视化StoryBoard

          本文链接:https://www.haomeiwen.com/subject/pkjymttx.html