iOS點擊手勢和tableview的點擊沖突


在開發的時候會遇到一個頁面既有點擊手勢又有tableview,那么這個時候tableview的點擊就會被點擊手勢取代,那么我們應該怎么處理呢?

首先我們先添加一個手勢:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMissGrantureADD:)];
    [tap setNumberOfTapsRequired:1];
    tap.delegate=self;
    [self.view addGestureRecognizer:tap];

使用手勢的代理進行解決

<UIGestureRecognizerDelegate>
#pragma mark - UIGestureRecognizerDelegate
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {//判斷如果點擊的是tableView的cell,就把手勢給關閉了
        return NO;//關閉手勢
    }//否則手勢存在
    return YES;
}

這樣問題就解決了,試一下,點擊空白和cell是不是會沖突~~~

那么點擊事件不會和那些UI控件沖突,又會和哪些控件沖突呢?(可能不全)

會沖突的:tableview

不會沖突的:button,textField

還有其他的,以后慢慢補充~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM