標籤:
第一步 建立一個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
xcode - 觸摸移動