1. 程式人生 > 實用技巧 >Sagit.Framework For IOS 自動佈局教程:3、主介面:相對同級UIView佈局。

Sagit.Framework For IOS 自動佈局教程:3、主介面:相對同級UIView佈局。

前言:

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、方法的第二個引數說明:

一般使用同級引數方法時,只使用一個引數,第二個引數不指定時,即相對上一個控制元件對齊(左對齊、頂部對齊)。

框架一共就兩種相對佈局方法,本文就介紹到這裡了。