Sagit.Framework For IOS 自動佈局教程:2、主介面:相對父窗體UIView佈局。
阿新 • • 發佈:2020-08-12
前言:
IOS的介面,分為:狀態列、導航欄、主介面、底部狀態列。
本篇講述主介面的相對佈局,其它三個的操作,在其它文章獨立講述。
1、相對佈局的基本語法:
基本方法定義:
//!相對當前UI的父檢視佈局 XYLocation 決定相對的位置 -(UIView*)relate:(XYLocation)location v:(CGFloat)value; -(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2; -(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2 v3:(CGFloat)value3;-(UIView*)relate:(XYLocation)location v:(CGFloat)value v2:(CGFloat)value2 v3:(CGFloat)value3 v4:(CGFloat)value4;
XYLocation的列舉定義:
//!佈局時的相對位置(取值的依據為:Left:1 Top:2 Ritht:3 Bottom:4 可以根據值來檢測所相對哪些位置) typedef NS_ENUM(NSUInteger,XYLocation) { Left = 1, LeftTop = 12, LeftTopRight = 123, LeftTopBottom= 124, LeftRight = 13, LeftBottom = 14, LeftBottomRight = 143, Top = 2, TopRight = 23, TopBottom = 24, TopRightBottom = 234, Right = 3, RightBottom = 34, Bottom = 4, //相對四邊 LeftTopRightBottom = 1234 };
2、佈局示例:
佈局的起始寫法:
如果是在XXXUIView中:以self開頭 如果是在XXXController中:以小寫sagit開頭(巨集定義為self.view)
示例:
新增logo圖示的佈局:
寫法一:相對左上右固定三個位置。
[[[sagit addImageView:@"logo" img:@"logo"] width:170 height:170] relate:LeftTopRight v:290 v2:200 v3:290];
寫法二:相對頂部位置,再居中。
[[[[sagit addImageView:@"logo" img:@"logo"] width:170 height:170] relate:Top v:200] toCenter:X];
3、定義新增控制元件時設定XY座標(即預設為相對 LeftTop的相對佈局)
如:新增logo圖片並定義寬高和初始座標(相對父UI)
[[sagit addImageView:nil img:@"logo"] width:170 height:170 x:290 y:200];
和以下程式碼功能一致:
[[[sagit addImageView:nil img:@"logo"] width:170 height:170] relate:LeftTop v:290 v2:200];
總結:
Sagit的佈局比較簡單,只要看著標註好的圖寫程式碼就可以了。
相對佈局是相對於父UI、下一篇介紹同級UI的相對佈局使用方法。