UIGesture手勢基礎

#import@interface ViewController : UIViewController{ //定義一個視圖對象 UIImageView * _imageView; } @end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//加載圖像對象,從本地加載到內存
UIImage * image =[UIImage imageNamed:@"17_2.png"];
//創建圖像視圖
_imageView = [[UIImageView alloc]init];
//將圖像視圖的圖像賦值
_imageView.image = image;
_imageView.frame =CGRectMake(50, 80, 200, 300);
[self.view addSubview:_imageView];
//開啟交互事件響應開關
//YES:可以響應交互事件
//NO:不能接受響應事件,默認值為NO;
_imageView.userInteractionEnabled=YES;
//創建一個點擊手勢對象
//UITapGestureRecognizer:點擊手勢類
//功能:識別點擊手勢事件
//p1:響應事件的擁有者對象,self表示當前視圖控制器
//p2:響應事件的函數
UITapGestureRecognizer * tapOneGes = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapOneAct:)];
//表示手勢識別事件的事件類型:幾次點擊時觸發
//默認值為1
tapOneGes.numberOfTapsRequired=1;
// tapOneGes.numberOfTapsRequired=2;
//表示幾個手指點擊時觸發此事件函數
//默認值為1
tapOneGes.numberOfTouchesRequired=1;
//將點擊事件添加到視圖中,視圖即可響應事件
[_imageView addGestureRecognizer:tapOneGes];
UITapGestureRecognizer * tapTwoGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapTwoGes:)];
tapTwoGes.numberOfTapsRequired=2;
tapTwoGes.numberOfTouchesRequired=1;
[_imageView addGestureRecognizer:tapTwoGes];
//當單擊操作遇到雙擊操作時,單擊操作失效
[tapOneGes requireGestureRecognizerToFail:tapTwoGes];
}
//事件響應函數,單擊操作
//參數手勢點擊事件對象
-(void) tapOneAct:(UITapGestureRecognizer*)tap{
NSLog(@"單擊操作!");
//獲取手勢監控的視圖對象
UIImageView * imageView = (UIImageView*)tap.view;
//開始動畫過程
[UIView beginAnimations:nil context:nil];
//設置動畫過度時間
[UIView setAnimationDuration:2];
imageView.frame=CGRectMake(0, 0, 320, 568);
//結束動畫過程
[UIView commitAnimations];
}
//雙擊操作
-(void)tapTwoGes:(UITapGestureRecognizer*)tap{
NSLog(@"雙擊操作");
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
_imageView.frame =CGRectMake(50, 80, 200, 300);
[UIView commitAnimations];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end