UIView的主要行为:
(1)绘制贺动画:透明度,旋转,平移等
(2)布局和子视图的管理:动态添加删除子视图,定义子视图在父视图中的位置。
(3)事件处理:UI view继承于UIResponder,可以实现UIResponder中的事件,可以调用addGestureRecognizer:方法添加手势处理
核心属性:
frame:边框矩形,指定视图相对于父视图坐标系统的位置和大小
bounds:边界矩形,负责定义视图相对于本地坐标系统的位置和大小,
center:包含边框矩形的中心点
简单例子:
MyView.h
#import <UIKit/UIKit.h>
@interface MyView:UIView
@end
MyView.m
#import "MyView.h"
@implementation MyView
//MARK: 初始化
-(id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
//初始化代码
}
return self;
}
//MARK:绘制图形
-(void) drawRect:(CGRect)rect{
//获得上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//设置背景颜色
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
//矩形大小
CGRect r = CGRectMake(20, 20, 200, 200);
//添加矩形
CGContextAddRect(context, r);
//绘制
CGContextDrawPath(context, kCGPathFill);
}
@end
ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
CGRect frame = CGRectMake(0, 0, 300, 300);
MyView *myView = [[MyView alloc] initWithFrame:frame];
self.view.backgroundColor = [UIColor purpleColor];
// MyView *myView = [[MyView alloc] initWithFrame:self.view.frame];
[self.view addSubview:myView];
}