美文网首页
关于ui搭建三种方式的优劣性

关于ui搭建三种方式的优劣性

作者: Alvin_d372 | 来源:发表于2017-05-04 18:07 被阅读0次

    今天突然有人问我关于storyboard跟xib还有手写代码的区别,在这里谈下我在开发中的感受。

    一、手写代码UI

    1、优势

    √  适合大型项目大规模使用,利于版本管理、追踪改动以及代码合并;最好的代码重用性

    2、遗憾

    √  慢,开发周期长,维护代码复杂;自动布局AutoLayout困难,手写约束

    二、xib文件组织viewController或者view

    1、优势

    √  开发速度快;  在版本管理上和纯代码的差异并不是很大,易读易维护

    2、遗憾

    √  xib中的设置往往并非最终设置,UI设计会被代码所覆盖

    (如果选择xib,那么要尽量将xib的工作和代码的工作隔离开来:能够使用xib完成的内容就统一使用xib来做,而不要说三个Label其中两个在xib设置了字体而另一个却在代码中完成。尽量仅保持必要的、较少的IBOutlet和IBAction会是一个好方法。)

    三、storyBoard

    1、优势

    √ 可以看到每个ViewController的布局样式,也可以明确地知道各个ViewController之间的转换关系;代码量少,开发周期短;关键是已经成为新建项目时候的默认配置,代表着苹果以后的方向和重心

    2、遗憾

    √  很难多人协作;ViewController的重用和自定义的view的处理

    在此分享最近一直在用的storyboard,其实跳转相对而言超级方便只要明白UIStoryboardSegue就已经会熟练的使用storyboard了。

    -(void)performSegueWithIdentifier:@"addCameraSegue" sender:id  如果我们设置点击UITableViewCell会触发segue,那么performSegueWithIdentifier(sender)方法不需要我们手动实现,其identifier被设置为在StoryBoard中设置的identifier,sender被设置为触发这个segue的UITableViewCell,否则需要手动实现。

    -(void)performSegueWithIdentifier:@"addCameraSegue" sender:id-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender是在页面跳转的时候走的方法,在这个方法里面可以获取到目的控制器,往目的控制器传值。

    相关文章

      网友评论

          本文标题:关于ui搭建三种方式的优劣性

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