第一步 创建一个UIView类 命名MoveView
#import "MoveView.h"
@implementation MoveView
/**
移动事件
*/
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UITouch * touch = [touches anyObject];
CGPoint curp=[touch locationInView:self];
CGPoint preP=[touch previousLocationInView:self];
self.transform = CGAffineTransformTranslate(self.transform, curp.x-preP.x, curp.y-preP.y);
}
@end
在ViewController 里面的代码有注释
#import "ViewController.h"
#import "MoveView.h"
@interface ViewController ()
//定义个自定义UIView
@property(nonatomic, weak) MoveView * Uview;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个UIView
MoveView * mView = [[MoveView alloc]initWithFrame:CGRectMake(20, 20, 100, 100)];
//设置背景颜色
mView.backgroundColor = [self randomColor] ;
//创建一个定时器
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(click) userInfo:nil repeats:YES];
self.Uview = mView;
//加入控件
[self.view addSubview:mView];
}
/**
重绘图行
*/
-(void)click{
self.Uview.backgroundColor = [self randomColor];
}
/**
生产随机颜色
*/
- (UIColor *)randomColor{
return [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1];
}
@end