簡體   English   中英

UICollectionViewCell內的UICollectionView - 空區域取消觸摸

[英]UICollectionView inside UICollectionViewCell - empty area cancels touches

我有一個UICollectionView (A),在另一個UICollectionView (B)的UICollectionViewCell中有照片庫縮略圖。

我想實現這個行為:

  • 當用戶點擊縮略圖 (A的單元格)時,會打開照片的詳細信息(這里沒問題)
  • 當用戶點擊 UICollectionView (A)的空白區域時 ,我想打開(B)單元格細節。 但是 UICollectionView (A)的空白區域取消用戶觸摸並且不將它們轉發到(B)單元格。

我有:

_collectionView.canCancelContentTouches = NO;
_collectionView.delaysContentTouches = NO;

並使用自動布局。

謝謝您的幫助!

我找到了解決方案。 我將UICollectionView子類化,然后覆蓋hitTest方法。

- (UIView *) hitTest:(CGPoint)point withEvent:(UIEvent *)event {

    UIView* view = [super hitTest:point withEvent:event];

    if (view == self) {

        return self.superview;

    }

    else {

         return view;

    }
}

快速版

override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
    let v = super.hitTest(point, withEvent: event)
    return v == self ? superview : v
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM