//
// ViewController.m
// 08-UIView的常见属性(尺寸和位置)
//
// frame:相对于父控件左上角定位
// bounds:改变长宽,左上角是相对于自己
// center:
#import "ViewController.h"
@interface ViewController ()
/** label */
@property (nonatomic, weak) UILabel *label;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 创建UILabel对象
UILabel *label = [[UILabel alloc] init];
// 设置frame (位置和尺寸)
label.frame = CGRectMake(100, 100, 100, 60); //父控件作为原点
// 设置背景颜色
label.backgroundColor = [UIColor yellowColor];
// 添加到控制器的view中
[self.view addSubview:label]; //添加进去了
self.label = label;
}
- (IBAction)bounds {
// 改变尺寸 iOS9以后, 中心点不变,向四周延伸
self.label.bounds = CGRectMake(30, 30, 200, 120);
}
- (IBAction)center {
// 改变位置
// self.label.center = CGPointMake(100, 100);
// 显示在最中间
self.label.center = CGPointMake(self.view.frame.size.width * 0.5, self.view.frame.size.height * 0.5);
}
- (IBAction)changeFrame {
// 方式1
// self.label.frame = CGRectMake(200, 100, 100, 60);
// 方式2
self.label.frame = (CGRect){{100, 100}, {100, 100}};
// 方式3
// 结构体是值传递,不是地址传递
// self.label.frame.size.width += 100;
CGRect frame = self.label.frame;
// frame.origin.x -= 100; // 改变x值
// frame.origin.y += 100; // 改变y值
// frame.size.width += 50; // 改变宽度
frame.size.height += 100; // 改变高度
self.label.frame = frame;
}
@end