二.
第二列是帮助性的文字.
三.
第三列1.custom class
module
绑定自定义类,module印象中从Xcode9开始出现,是一个优化,应该只在swift起效,在swift中默认勾选,也就是从当前target继承自定义类,填写指定module可以从其中继承自定义类
2.identity
Storyboard ID: vc特有属性 标识vc
restoration ID: 状态恢复ID,在App将要被杀死时,系统遍历navigationController的vc以及子vc,根据restoration ID存储数据,下次打开App时,从底层开始逐个恢复,直到遇到没有restoration ID的vc.并且可以拿到之前存储的数据.
3.use defined runtime attributes
根据kev-value为属性设值,值共有十一种类型
例如
4.document
可以修改控件的命名,颜色标识,用于UI test
5.accessitity
这项是用来支持读屏功能的,即VoiceOver,可以读出屏幕上的信息,以帮助盲人进行人机交互.
四.
第四列是控件的类的属性,根据继承性向下排列分类,没有什么特殊的,本文不再展开
继承性
五.
第五列是布局相关
1.alignment rectangle和frame rectangle
事实上只是在开发时的展示效果,frame rectangle是以frame为基准的显示效果,alignment rectangle是以控件实际内容的显示效果
显示效果
2.arrange
arrange
帮助布局的选项,类似于autoresizing,是针对父视图(container)的布局
3.autoresizing
autolayout之前的自动布局,是针对父视图(container)的布局,主要用于适配屏幕尺寸,可以用autolayout代替
4.layout margins
Auto Layout为每一个view都定义了margin。margin指的是控件显示内容部分的边缘和控件边缘的距离。
可以用layoutMargins或者layoutMarginsGuide属性获得view的margin,margin是视图内部的一部分。layoutMargins允许获取或者设置UIEdgeInsets结构的margin。layoutMarginsGuide则获取到只读的UILayoutGuide对象。
在iOS11新增了一个属性:directional layout margins
勾选safe area layout guide时,会给视图加一个相对于子视图的safe area
5.constrains
6.content Hugging priority
控件的不可拉伸指数,分为横纵两个指标,用于相邻控件之间的伸展优先级
7.content compression resistance priority
控件的不可压缩指数,分为横纵两个指标,用于相邻控件之间的伸展优先级
intrinsic size:
固有属性,在控件填充内容之后,会产生一个固有尺寸,比如imageView,button,也就是经常看到的黄色虚线和warning,
所以这些控件即使不包含产生宽高的约束,也可以正常显示
网友评论