如果我有一個帶有子視圖的scrollView,並且子視圖有一個平移手勢識別器,則scrollView的平移手勢覆蓋子視圖的平移。我想要的是相反的,我認爲,所以我拖動一個子視圖,它將在滾動視圖內平移,但如果我觸摸另一個區域,滾動視圖將平常平移。有沒有簡單的方法來設置?UIScrollView覆蓋我的子視圖的平移手勢識別器
5
A
回答
12
這裏對我來說是什麼在起作用:
UIPanGestureRecognizer *subviewPanRecognizer = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(panSubview:)];
[subview addGestureRecognizer:subviewPanRecognizer];
// play nice with subview's pan gesture
[scrollView.panGestureRecognizer
requireGestureRecognizerToFail:subviewPanRecognizer];
0
覆蓋下面這兩個代表,
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
這將讓你認識到這兩個手勢,默認的回報是NO,所以我們需要覆蓋它並返回YES。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]]) {
if ([otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
return NO;
}else{
return YES;
}
}
return YES;
}
在這個委託作爲你願意,你可以做任何事情,因爲它的名字gestureRecoginzer將需要由otherGestureRecognizer失敗,所有你需要做的是判斷什麼這兩種手勢中的一種並返回YES或NO。
相關問題
- 1. UIScrollview子視圖縮放後無法識別平移手勢
- 2. 手勢識別器的UIButton子視圖
- 3. UIScrollView在子視圖中打破手勢識別器
- 4. 擴展(而不是覆蓋)平移手勢的UIScrollView
- 5. 如何禁用UIScrollView到平移手勢識別器?
- 6. 子視圖上未識別的手勢
- 7. 姿勢識別器是否覆蓋在ScrollView頂部的視圖?
- 8. 水平平移手勢內的UIScrollView
- 9. 附上一個平移手勢識別器的圖像
- 10. 手勢識別器是否會覆蓋滾動視圖的滾動功能?
- 11. 關於視圖和手勢識別器
- 12. UIPanGestureRecognizer上的UITableViewCell覆蓋的UITableView的滾動視圖手勢識別
- 13. 使用平移手勢識別器來關閉視圖控制器
- 14. 帶有平移手勢識別器的CollectionViewCell
- 15. 將UIScrollView手勢識別器添加到另一個UIScrollView
- 16. 僅在長按識別器發射後才執行平移手勢識別器
- 17. 拖動手勢識別器干擾滑動手勢識別器
- 18. 手勢識別器不能在子視圖上工作
- 19. 手勢識別視頻流
- 20. 使用平移手勢識別器將多個圖像瀏覽一起移動
- 21. 放大後平移UIScrollView的子視圖
- 22. 此平移手勢識別器操作有什麼問題?
- 23. 在佔位符上使用手勢識別器平移UIImage UIView
- 24. 限制一個平移手勢識別器到ImageView?
- 25. 同時使用平移和滑動手勢識別器
- 26. 核心地塊平移手勢識別器requireGestureRecognizerToFail
- 27. 如何使用平移手勢識別器旋轉SCNSphere
- 28. iOS使用平移手勢識別器添加動畫
- 29. 連接到手勢識別器以進行平移?
- 30. 將平移手勢識別器限制到特定圓圈
這似乎是默認行爲(這是我在UIScrollView實踐中觀察與UIImageView子視圖)。有人可以確認/體弱嗎? – Norswap
它不適用於我 –
工程很漂亮,特別是在子視圖上應用委託並實現'gestureRecognizerShouldBegin:'時。 –