我已經設置了我的UICollectionViewCell
,其中UIPanGestureRecognizer
應該像您在UITableViewCells
中經常看到的內容那樣顯示控件。不過,我的問題應該適用於UICollectionViews
和UITableViews
。帶有平移手勢識別器的CollectionViewCell
我有它的工作,使單元格中的水平鍋與UICollectionView
的垂直鍋同時工作。這是通過貫徹UIGestureRecognizer
此委託方法簡單有效:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
這使他們能夠同時工作,但它也有副作用,如我在UICollectionView
垂直平移,任何輕微的水平運動將觸發在我開始垂直平移時碰巧碰到的單元格中的gestureRecognizer
,從而揭示了底層控件。我不想要這個。
郵件處理這完美,以便FX。 UITableView
中的垂直平移可禁用單元格中的任何水平平移手勢,反之亦然。
我可以通過正確設置我的手勢識別器以簡單的方式實現此目的嗎?
我想避免一個解決方案,我必須在視圖之間管理狀態(「滾動視圖正在拖動」,「單元格正在拖動」等)。
確實。我用同樣的會話視頻解決了這個問題。在這裏提供了類似問題的答案:http://stackoverflow.com/questions/14298650/uicollectionviewcell-with-uiscrollview-cancels-didselectitematindexpath/24853578#24853578 –