ios之UI布局篇

UI布局分为如下几种
1.frame

  1. Autolayout VFL(Visual Format Language)
    3.SB
    4.Masonry/Snapkit 链式语法
    5.Yoga
  2. SizeClass

Autolayout里有两个词,约束,参照
要想显示一个控件,需要两个东西,位置,尺寸
添加约束不宜过多,当添加的约束足以表达该控件的位置与尺寸,就足够了
约束就是对控件的大小或者位置进行约束,参照就是以某个控件的位置进行约束,其实这两者没有明确的分别,它们都可以对控件的位置与尺寸起到作用。
所有控件,都逃不开位置,尺寸,Autolayout就是拿来干这个用的,所以我后面的例子都以UIView为例

Masonry必须要把控价添加到父视图以后才可以进行布局,不然会crash
内存管理,约束的block里面有时候会引起隐式内存泄露
偶尔会遇见重复约束的问题,查看控制台log,进行调整修改
重点在于,给出的约束一定要能计算出控件的位置和大小,缺一不可
有时候给出的约束可能没有明确指出某个约束的值,但是可以通过给定条件计算出来,也是可以的,比如下面这个例子,做一个水平三等分

记住一个快捷键command + option + ‘=‘(update constraint constant)

SB/xib多人开发的问题

SafeArea
在Xcode 7之前,storyboard在团队开发的时候非常不友好,因为一个storyboard文件有很多个界面,多人开发的话,就需要多个人都打开这个storyboard文件,而在Xcode 7之前你只要点开storyboard文件,虽然你啥都没有做,但是storyboard文件里面出现一个Modify标记,然后你提交代码的时候会conflict,很多团队因为这个问题放弃storyboard,转而使用xib,甚至连xib都不用了,直接手撸.

只从Xcode 7以后,苹果针对这个问题推出了storyboard reference来解决storyboard的多人开发问题

storyboard reference的功能就是拆分storyboard,把storyboard拆分成一个个小模块,这样每个开发人员对应一个模块,各自分离,互不相干

代码加载SB,需要再SB中设置identity usestoryboard id

有很多人说在维护xib/storyboard开发的项目的时候有些困难,找不到view关系,看不到代码等,其实我想说,那是因为你真的没有用心的去学习xib/storyboard,如果作为维护者的你也对xib/storyboard非常熟悉,你会发现维护xib/storyboard开发的项目会比纯代码的相对轻松的,至少你不需要在1000+的代码中去找某个button添加的action;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,026评论 3 119
  • 那些多么简单却是那样动人的话语. 当我跨进那大门时又一次响起. 带着那样寻找的愿望, 带着按捺不住的依恋, 再回到...
    何如阅读 235评论 1 1
  • 韦庄,可能并不为人熟悉。但说起一句话“遇酒且呵呵,人生能几何”大家一定都知道。虽然现在“呵呵”已经成为了...
    不世出_阅读 412评论 0 3
  • 我不知来时, 却唯恐去处, 曾向往的生活, 却好久不见, 我们终将有个归宿, 不探来时,不畏去处! 星期天没什么事...
    王唯一的理想阅读 160评论 0 0
  • 在我看来, 你就是十五的月儿, 那淡淡的光, 让我产生了幻觉。 终于忍不住, 我伸出了手—去触碰你, 你的皮肤是冰...
    艺晓晓阅读 279评论 0 0