iOS手势
iOS點擊手勢UITapGestureRecognizer :
- (void)viewDidLoad {[super viewDidLoad];UIImageView *imgview = [[UIImageView alloc]initWithFrame:CGRectMake(80, 200, 150, 150)];imgview.image = [UIImage imageNamed:@"6.jpg"];//注意開啟用戶交互imgview.userInteractionEnabled = YES;[self.view addSubview:imgview];UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageVIewtap:)]; // tap.delegate = self; //協議//點擊次數 單擊還是雙擊tap.numberOfTapsRequired = 2;//設置屬性 一個手指頭還是多個手指頭點擊tap.numberOfTouchesRequired = 1;//添加[imgview addGestureRecognizer:tap]; }//觸發手勢點擊事件 -(void)imageVIewtap:(UIGestureRecognizer *)tap{self.view.backgroundColor=[UIColor greenColor]; } //默認為單擊UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapClick:)];tap.delegate = self;[view addGestureRecognizer :tap];iOS清掃手勢 UISwipeGestureRecognizer:
- (void)viewDidLoad {[super viewDidLoad];_imgview=[[UIImageView alloc]initWithFrame:CGRectMake(80, 200, 200, 200)];_imgview.image=[UIImage imageNamed:@"6.jpg"];_imgview.userInteractionEnabled=YES;UISwipeGestureRecognizer *pan = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(imageVIewtap:)];pan.delegate = self;pan.direction = UISwipeGestureRecognizerDirectionRight;//設置屬性 不設置默認為1pan.numberOfTouchesRequired = 1;//添加手勢到視圖上[_imgview addGestureRecognizer:pan];[self.view addSubview:_imgview]; }//判斷手勢移動方向 -上-下-左-右 -(void)imageVIewtap:(UISwipeGestureRecognizer *)tap{if (tap.direction == UISwipeGestureRecognizerDirectionLeft) {NSLog(@"left");}else if(tap.direction == UISwipeGestureRecognizerDirectionRight) {NSLog(@"right");}/*UISwipeGestureRecognizerDirectionRight = 1 << 0,UISwipeGestureRecognizerDirectionLeft = 1 << 1,UISwipeGestureRecognizerDirectionUp = 1 << 2,UISwipeGestureRecognizerDirectionDown = 1 << 3*/ } iOS移動手勢 UIPanGestureRecognizer:
- (void)viewDidLoad {[super viewDidLoad];_imgview = [[UIImageView alloc]initWithFrame:CGRectMake(80, 200, 200, 200)];_imgview.image = [UIImage imageNamed:@"6.jpg"];_imgview.userInteractionEnabled = YES;UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(imageVIewtap:)];pan.delegate=self;//設置屬性pan.minimumNumberOfTouches = 1;[_imgview addGestureRecognizer:pan];[self.view addSubview:_imgview]; }-(void)imageVIewtap:(UIGestureRecognizer *)tap{self.view.backgroundColor=[UIColor greenColor];if (tap.state==UIGestureRecognizerStateBegan) {NSLog(@"開始移動");//縮放圖片self.imgview.transform=CGAffineTransformMakeScale(0.5, 0.5);}else if (tap.state==UIGestureRecognizerStateChanged){NSLog(@"移動中");self.imgview.center=[tap locationInView:self.view];}else if(tap.state==UIGestureRecognizerStateEnded){NSLog(@"移動完成");self.imgview.transform=CGAffineTransformIdentity;} }
iOS長按手勢 UILongPressGestureRecognizer:
- (void)viewDidLoad {[super viewDidLoad];_imgview = [[UIImageView alloc]initWithFrame:CGRectMake(80, 200, 200, 200)];_imgview.image = [UIImage imageNamed:@"6.jpg"];_imgview.userInteractionEnabled = YES;UILongPressGestureRecognizer *pan = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(imageVIewtap:)];pan.delegate=self;//設置屬性pan.minimumPressDuration = 2;[_imgview addGestureRecognizer:pan];[self.view addSubview:_imgview]; }-(void)imageVIewtap:(UILongPressGestureRecognizer *)tap{if (tap.state == UIGestureRecognizerStateEnded) {NSLog(@"長按手勢完畢");}else{NSLog(@"識別了點擊手勢");} }iOS旋轉手勢 UIRotationGestureRecognizer: - (void)viewDidLoad {[super viewDidLoad];_imgview = [[UIImageView alloc]initWithFrame:CGRectMake(80, 200, 200, 200)];_imgview.image = [UIImage imageNamed:@"6.jpg"];_imgview.userInteractionEnabled = YES;UIRotationGestureRecognizer *pan = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(imageVIewtap:)];pan.delegate = self;[_imgview addGestureRecognizer:pan];[self.view addSubview:_imgview]; }-(void)imageVIewtap:(UIRotationGestureRecognizer *)tap{tap.view.transform = CGAffineTransformRotate(tap.view.transform, tap.rotation);tap.rotation = 0.0; }
 
總結
                            
                        - 上一篇: 生命很短,我用tldr
 - 下一篇: 粉丝回馈,8000元大礼包免费相送