你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS編程技術 >> iOS手勢沖突問題

iOS手勢沖突問題

編輯:IOS編程技術

今天在做一個效果的時候,由於子視圖和父視圖都有響應的事件,子視圖的事件理所當然被父視圖攔截掉了,接下來就做分析解決

1.  tableviewcell可以觸發點擊,同時tableview的父視圖有點擊識別,這樣點擊的時候就會產生沖突。解決方法在GestureRecgnizer代理方法裡面區分手勢。

#pragma mark tapGestureRecgnizerdelegate 解決手勢沖突

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

    if ([touch.view isKindOfClass:[UITableView class]]){

       return NO;

      } if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {  

       return NO;

    } return YES;

   }

2.一個橫向滾動的scrollview裡面加了一個豎向滾動的tableview,這時如果實現了scrollview的代理方法卻沒有區分scrollview和tableview,這時候tableview的滾動會發生混亂。解決方法是在didScroll代理方法裡區分這兩個。

#pragma mark - scrollView delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if ([scrollView isKindOfClass:[UITableView class]]) {
   // NSLog(@"------是列表---");
 }
 else {
   // NSLog(@"------是滾動視圖----");

 }
}
 
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved