【Objective-C】解決輕拍手勢事件與TableView的Cell點選事件衝突的問題
問題描述:UITableView上新增了輕拍手勢,手勢時間裡寫了回收鍵盤,此時UITableView的Cell點選方法就和輕拍手勢時間衝突,此時該怎麼解決問題?
解決方法:
1.當前的ViewController籤協議,UIGestureRecognizerDelegate
2.寫手勢的代理方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch {
if([NSStringFromClass([touch.view class])isEqual:@"UITableViewCellContentView"]){
return NO;//當觸碰到TableView的Cell的ContentView手勢事件不響應
}
return YES;
}
問題追加:那如果TableView上又巢狀一個CollectionView怎麼辦,這個代理方法還有效嗎?
解決方法:
這個代理方發還是有效的
-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch {
if([NSStringFromClass([touch.view class])isEqual:@"UITableViewCellContentView"] || [NSStringFromClass([touch.view class])isEqual:@"UIView"]){
return NO;//多加一個邏輯判斷觸碰到View時也讓手勢事件不響應
}
return YES;
}
這個代理方法是蘋果官方提供的,大概也是考慮到開發者能遇到這樣的小問題吧
相關文章
- 關於click事件與touch事件衝突的問題事件
- 如何解決 touchstart 事件與 click 事件的衝突事件
- Swift UITableView巢狀UICollectionView點選事件衝突(點選事件穿透)SwiftUIView巢狀事件穿透
- 【FAQ】關於JavaScript版本的華為地圖服務Map的點選事件與Marker的點選事件存在衝突的解決方案JavaScript地圖事件
- 微信小程式單擊事件與長按事件衝突的解決辦法微信小程式事件
- kotlin語言:解決drawerLayout與viewpager的衝突、NavigationView側滑裡面menu的點選事件KotlinViewpagerNavigation事件
- JAR衝突問題的解決JAR
- 重寫ListView解決ListView內部ViewPaper滑動事件衝突問題View事件
- 如解決jquery與原生js衝突的問題jQueryJS
- 雙擊和單擊事件衝突解決方法事件
- git 解決版本衝突問題Git
- ScrollView中用ListView的事件衝突View事件
- Maven中解決依賴衝突的問題Maven
- iOS 中tableview cell點選取消選中效果iOSView
- iOS下的點選事件失效解決方法iOS事件
- Android事件分發機制、滑動衝突解決Android事件
- GO 問題之多版本衝突解決Go
- 解決echsop相容jquery(transport.js的衝突)的問題jQueryJS
- Git Worktree:解決分支依賴衝突的問題Git
- less中解決CSS3的calc衝突問題CSSS3
- fastclick.js解決移動端點選事件反應慢問題ASTJS事件
- 移動端右劃事件與瀏覽器右劃回退衝突解決方案事件瀏覽器
- hash解決衝突的方法優缺點
- PyQt5 為 QPushButton 實現長按及解決跟 clicked 事件的衝突QT事件
- 解決gerrit commit後pull發生衝突的問題MIT
- 關於 OkHttp 依賴衝突問題的解決過程HTTP
- 解決app中多語音出現的衝突問題APP
- 利用觸發器解決更新主鍵衝突的問題觸發器
- 如何解決關於TableView裡面cell隨機顯示的問題View隨機
- 使用SUI與JQuery衝突的解決方法UIjQuery
- 點選事件的委派事件
- iOS 側滑返回手勢與Scrollview衝突的解決辦法iOSView
- jQuery.noConflict() 方法—— jquery庫與其他庫衝突的問題解決jQuery
- Flutter和iOS手勢衝突解決思路FlutteriOS
- 徹底解決SLF4J的日誌衝突的問題
- android父子控制元件手勢衝突的解決Android控制元件
- jQuey與json.jar的衝突問題JSONJAR
- Android 解決BottomSheetDialog 拖曳衝突問題Android