前言:
IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。
本篇讲述主界面的相对同级UIView布局,其它三个的操作,在其它文章独立讲述。
1、相对同级UIView布局的基本语法:
基本方法定义:
/当前UI将布局于指定UI的右侧 -(UIView*)onRight:(id)uiOrName; -(UIView*)onRight:(id)uiOrName x:(CGFloat)x; -(UIView*)onRight:(id)uiOrName x:(CGFloat)x y:(CGFloat)y; //当前UI将布局于指定UI的左侧 -(UIView*)onLeft:(id)uiOrName; -(UIView*)onLeft:(id)uiOrName x:(CGFloat)x; -(UIView*)onLeft:(id)uiOrName x:(CGFloat)x y:(CGFloat)y; //当前UI将布局于指定UI的上方 -(UIView*)onTop:(id)uiOrName; -(UIView*)onTop:(id)uiOrName y:(CGFloat)y; -(UIView*)onTop:(id)uiOrName y:(CGFloat)y x:(CGFloat)x; //当前UI将布局于指定UI的下方 -(UIView *)onBottom:(id)uiOrName; -(UIView *)onBottom:(id)uiOrName y:(CGFloat)y; -(UIView *)onBottom:(id)uiOrName y:(CGFloat)y x:(CGFloat)x;
2、布局示例:
通常界面上第一个UI是用相对布局,后续的UIView,都可以相对于第一个UI进行同级布局。
比如第一个Logo,用了相对布局:
[[[[sagit addImageView:@"logo" img:@"logo"] width:170 height:170] relate:Top v:200] toCenter:X];
接下来的App名称的文字布局,则可以用同级间的相对布局。
App名字,是个label,在logo的底部,因此可以用onBotton方法:
[[[[sagit addLabel:nil text:AppName font:48] width:160 height:44] onBottom:@"logo" y:50]toCenter:X];
onBotton可以接收UI的name,也可以传入UIView,而框架定义了一个宏:STPreView,代表上一个UI,因此,通用写法是这样的:
[[[[sagit addLabel:nil text:AppName font:48] width:160 height:44] onBottom:STPreView y:50] toCenter:X];
通过框架提供的一些宏定义,写法可以更简单快捷一些。
其它方法理解和使用是一样的。
3、同级布局和相对布局一起用:
通常使用同级布局后,如果位置还不能确定,还可以再继续使用relate相对布局。
如:
[[[[sagit addUIView:nil] width:STScreenWidthPx] onBottom:STPreView y:20] relate:Bottom v:0];
添加了一个UI,宽度全屏、在上一个UI底部20px,高度自适应到底部。
4、方法的第二个参数说明:
一般使用同级参数方法时,只使用一个参数,第二个参数不指定时,即相对上一个控件对齐(左对齐、顶部对齐)。
框架一共就两种相对布局方法,本文就介绍到这里了。
版权声明:程序员胖胖胖虎阿 发表于 2022年9月15日 上午4:48。
转载请注明:Sagit.Framework For IOS 自动布局教程:3、主界面:相对同级UIView布局。 | 胖虎的工具箱-编程导航
转载请注明:Sagit.Framework For IOS 自动布局教程:3、主界面:相对同级UIView布局。 | 胖虎的工具箱-编程导航
相关文章
暂无评论...