你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> iOS View添加手勢,防止View上點擊其他視圖觸發點擊效果

iOS View添加手勢,防止View上點擊其他視圖觸發點擊效果

編輯:IOS開發基礎
  • 在開發過程中,我們可能會遇到這個問題. 當我們給一個view添加了手勢,但是我們又不想點擊view上面的視圖也觸發手勢.如下圖:
    我們在紅色view上添加了手勢,但是又不想點擊黃色view也觸發.其實這裡用到UITapGestureRecognizer的一個代理方法

    0.png
  • 1656986-1ee6889558bd7256.jpg

  • 上代碼,先創建兩個view,並且給bigView添加手勢

self.bigView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
    self.bigView.backgroundColor = [UIColor redColor];
    UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(bigMap:)];
    recognizer.delegate = self;
    [self.bigView addGestureRecognizer:recognizer];
    [self.view addSubview:self.bigView];

    self.smallView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
    self.smallView.backgroundColor = [UIColor yellowColor];
    [self.bigView addSubview:self.smallView];
  • 實現UITapGestureRecognizer的一個代理方法,我不用多說,大家一看就明白怎麼回事了.這是就解決了防止點擊黃色view也觸發的問題了

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

    if ([touch.view isDescendantOfView:self.smallView]) {
        return NO;
    }
    return YES;
}

是不是很簡單啊.最後送大家一個我自己用無人機拍攝的小視頻.



文章轉自 Senior丶的簡書
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved