前言:

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、方法的第二个参数说明:

一般使用同级参数方法时,只使用一个参数,第二个参数不指定时,即相对上一个控件对齐(左对齐、顶部对齐)。

框架一共就两种相对布局方法,本文就介绍到这里了。

posted on 2020-08-12 17:51  路过秋天  阅读(133)  评论(0编辑  收藏
路过秋天