ugui auto layout

controlsize 用于迫使子类在一个固定范围内,压缩子类

一般不使用,当使用的时候会添加上contentsize 去适配,实现不压缩子类

而且可以使子孙类item删除后,自动缩小

 

 

controlsize 会使item没有设置图片的压缩成很小,一个gameobj子物体里面有图片    一个label

expand 会使item 分散在头部尾部 一般不用

laout最会作用于子类不会作用于孙子类

不选择controlsize 在扩展后,删除item不会缩小

一般来说**laout即可不用设置其他

 

 

 

一般来说像tips 会选用vertical layout

当里面只有文本的时候选择control size不会有问题。里面的text会自动根据内容变化大小

而当有文本和图片同时存在的时候(文本和图片相隔)。选用controlsize后,图片会被压缩很小

此时需要给图片增加layout element

而当有文本和图片,图片里面要包含图片的时候。需要给图片一个layout vertical,使得图片会计算大小的时候

文字会计算在内。还要给图片一个content size 保证图片和文字一样大

 

如果不选用control size 则需要文字添加contentsize 图片添加contentsize和layout

 

 

里面全是text 使用force expand 会设置text的位置填满空间

使用controlsize 会设置text大小填满空间   text大小比文字大

只有当使用content size会设置大小刚好和文字一样大

总结:controlsize 和 expand 和content size 缺一不可,刚好可以实现完美适配,

如有特殊需要可增加layout element

 

 

ugui auto layout

官网对于autolayout 分为6个

其中layout element 用于子物体,剩下的用于父物体

 

 

layout element

 

如何确定尺寸的基本原则如下:

 

  • 首先申请最小的尺寸
  • 如果这里有足够的可用空间,那么就申请首选尺寸
  • 如果还有额外的可用空间,那么就申请灵活尺寸

 

ugui auto layout

 

 

一个item带了layout element 其他item都要带

horizon 勾选了control child size 和 child force expand的时候需要带该脚本

expand代表不改变child的大小的情况下填充满

control child代表 改变child的大小下填充满

正常情况 control child size 和 child force expand都不勾选

当勾选的时候证明需要填满,如果需要填满的情况下要求item大小都不一样就需要带layout element

 

 

content size fitter 

ugui auto layout

content size 一般用于 text的自动缩放,即 当文字多的时候,width会自动扩张,此时的width不能修改,属于只读类型

或者用于   scrollview 里面的contain ,当代码动态增加一些item的时候,contain自动增加width或者heigh,

保证永远能够滑动显示所有物体

还可以用于保证物体从两边增加,即pivot在中间,显示奖励居中很方便

 


aspect ratio fitter

ugui auto layout

aspect ratio 用于适配,比如一个物体占据了屏幕,当父类物体进行放大的时候,子物体也跟着放大(此时任意一边(长或者高)到达即停止缩放)

 

 

horizontal layout group

 

ugui auto layout

padding表示当expand 整个rect的时候。window的范围

spacing 表示item之间的空隙

child alignment 表示当没填充满的时候 item 位于rect的位置

control child size 勾选 表示会控制 item的大小

child force expand 表示item会尽量覆盖满

ugui auto layout

vertical layout group

此处同理不复述


grid layout group

ugui auto layout

padding 同理

cell size 为item 的宽高

spacing 为item 的间距

start Corner 为序号的第一个在哪里

start Axis  为序号从横排还是从竖排

child alignment  为靠rect的哪个位置

ugui auto layout

constraint 为 flexible 即通过rect大小决定行数  

constraint 为 fixed column count 即为固定列数  

constraint 为 fixed row count 即为固定行数