手勢相關一:UITapGestureReongnizer 單擊/雙擊



//1.創建視圖對象

{

    UIImageView *_imageView;

    UITapGestureRecognizer *_tapOnce;

    UITapGestureRecognizer *_tapTwice;

}

- (void)createImageView

{

    _imageView = [[UIImageView alloc]init];

    _imageView.frame = CGRectMake(4060300400);

    _imageView.image = [UIImage imageNamed:@"17_13.jpg"];

    //imageview的可交互屬性設置爲yes

    _imageView.userInteractionEnabled = YES;

    [self.view addSubview:_imageView];

}


//2.創建手勢方法


//2.1創建單擊手勢

- (void)createTapOnceGes

{

    //參數1:處理手勢的對象

    //參數2:處理手勢的方法

    //這個對象處理的是點擊手勢

    //該方法會講手勢中的view屬性設置爲_imageView

    UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapOnceGes:)];

    

    //設置當前手勢需要點擊的次數,1即爲單擊事件

    tapGes.numberOfTapsRequired = 1;

    //設置當前手勢判定成功需要幾個手指接觸

    tapGes.numberOfTouchesRequired = 1;

    

    //imageView視圖上添加手勢,添加了以後改視圖就能識別和處理該手勢

    [_imageView addGestureRecognizer:tapGes];

    

}

//2.2創建雙擊手勢

- (void)createTapTwiceGes

{

    _tapTwice = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapTwiceGes:)];

    _tapTwice.numberOfTapsRequired = 2;

    _tapTwice.numberOfTouchesRequired = 1;

    

    [_imageView addGestureRecognizer:_tapTwice];

    

    //當雙擊事件無效時單擊事件纔有效

    [_tapOnce requireGestureRecognizerToFail:_tapTwice];

}


//3.創建事件調用方法

//3.1單擊事件方法

- (void)tapOnceGes:(UITapGestureRecognizer *)tapGes

{

    _imageView.frame = self.view.bounds;

}


//3.2雙擊事件方法

- (void)tapTwiceGes:(UITapGestureRecognizer *)ges

{

    _imageView.frame = CGRectMake(4060300400);

    

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章