觸摸事件在iOS中是最常用的事件,這裡我們來介紹下觸摸事件。
在下面的例子中定義UIImageView。首先我們在TouchEventViewController中添加觸摸事件,並利用觸摸移動事件來移動Image,具體代碼如下:
@implementation TouchEvenViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIImageView * _image=[[KCImage alloc]initWithFrame:CGRectMake(50, 50, 150, 169)];
[_image setImage:[UIImage imageName:@"zmit"]];
[self.view addSubview:_image];
}
#pragma mark - 視圖控制器的觸摸事件
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"開始觸摸");
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
//取得一個觸摸對象(對於多點觸摸可能有多個對象)
UITouch *touch=[touches anyObject];
//取得當前位置
CGPoint current=[touch locationInView:self.view];
//取得前一個位置
CGPoint previous=[touch previousLocationInView:self.view];
//移動前的中點位置
CGPoint center=_image.center;
//移動偏移量
CGPoint offset=CGPointMake(current.x-previous.x, current.y-previous.y);
//重新設置新位置
_image.center=CGPointMake(center.x+offset.x, center.y+offset.y);
NSLog(@觸摸中");
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"觸摸結束");
}
@end
一個簡單的拖動的觸摸事件,在這裡展示給大家了。