iOS界面布局之一——使用代码进行布局
一、这是最简单的布局方式,在UI控件初始化时通过- (void)initWithFrame进行设置,或者在init之后在进行设置
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake(20, 40, 200, 200)];
view1.backgroundColor=[UIColor redColor];
UIView * view2 = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100)];
view2.backgroundColor=[UIColor greenColor];
[view1 addSubview:view2];
[self.view addSubview:view1];
}
效果是这样的(大家也应该能想的出来)
当然了,这种情况下我们应该怎样做适配呢,在autoLayout没有出现之前,Apple提供的方法主要是autoresizing(在现在的xib/storyBoard里也能找到相应的设置)。
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
UIViewAutoresizingNone = 0,//默认
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,//与父视图右边间距固定,左边可变
UIViewAutoresizingFlexibleWidth = 1 << 1,//视图宽度可变
UIViewAutoresizingFlexibleRightMargin = 1 << 2,//与父视图左边间距固定,右边可变
UIViewAutoresizingFlexibleTopMargin = 1 << 3,//与父视图下边间距固定,上边可变
UIViewAutoresizingFlexibleHeight = 1 << 4,//视图高度可变
UIViewAutoresizingFlexibleBottomMargin = 1 << 5//与父视图上边间距固定,下边可变
};
二、使用AutoLayout进行页面布局
A