![](/img/trans.png)
[英]Tap gesture recognizer gets triggered when user taps scroll view to stop scrolling
[英]Why tap gesture recognizer recognizes the taps from the view on its parent view?
我有一個UIView和一個輕敲手勢識別器:
UIImageView *tabView = [[UIImageView alloc] initWithFrame:CGRectMake(41, 145, 702, 100)];
tabView.image = [UIImage imageNamed:@"inactive_tab"];
tabView.userInteractionEnabled = YES;
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[tabView addGestureRecognizer:singleFingerTap];
[self.scrollView addSubview:tabView];
我在scrollview上添加了另一個視圖:
[self.scrollView addSubview:self.activeTab];
activeTab超過inactiveTap。 當我點擊activeTap時,手勢識別器會發射,我想不要發生這種情況。 我怎么能避免這個?
使用UIGestureRecognizerDelegate
及其方法gestureRecognizer:shouldReceiveTouch:
. 您可以檢查觸摸點是否在視圖框內,如果您不希望在該視圖上發生觸摸,則返回NO
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
CGPoint touchLocation = [touch locationInView:self.view];
return !CGRectContainsPoint(self.activeTab.frame, touchLocation);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.