scrollview添加手勢 不影響子控件點擊事件


 

給父視圖添加手勢,但是子視圖的點擊事件失效了,怎么辦?我在寫tableView 自定義cel中顯示多張圖片 可以左右滑動 我在cell里面放了一個collectionView, 點擊tableViewCell 跳轉到詳情頁 如果點的是collectionView里的第三張圖片,則詳情頁直接滑到第三張 ,點擊其他區域 從第一張開始。

當圖片的少的時候 點擊collectionView空白區域的時候,tableViewCell的點擊代理方法不走,把collectionView的userInteractionEnabled 設置成NO 代理方法走了,但是collectionview 不能滑動了,collectionViewCell的點擊代理方法也不走了。下面是解決方法:

給collection添加手勢

//初始化手勢

UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapcollection)];

//設置代理

  tap.delegate=self;

 [self.imagesColl addGestureRecognizer:tap];

 //遵循這個代理方法  還有其他的代理

// 看介紹 它走在 touchesBegan:withEvent:之前

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

//判斷是不是點的collectionView

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

//處理手勢 走到你的手勢方法里 處理你自己的邏輯

        return YES;

    }

    //如果點擊的是cell 返回NO 會走collectionView: didSelectItemAtIndexPath:

    return  NO;

}

 


免責聲明!

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



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