gpt4 book ai didi

ios - 仅为特定 View 禁用手势识别器

转载 作者:技术小花猫 更新时间:2023-10-29 10:18:41 25 4
gpt4 key购买 nike

在一个 View Controller 上,我有一个 mainView。在该 View 中,我有另一个 View sidePanel,它的帧为 0,0,86,420。我添加了一个点击手势识别器。现在我只想为 mainView 而不是 sidePanelView 启用手势识别。见下图:

View on left going over bottom view

我想为 sidePanelView 禁用 tapGesture 并为除它之外的所有区域启用。我怎样才能做到这一点? (还有一点要说,sidePanelView以外的区域是sidePanelView的parentView)。

最佳答案

您应该接受 Bharat 的回答,因为这是正确的。我只想说明你是如何做到的:

  1. 将您的 View Controller 定义为符合 UIGestureRecognizerDelegate,例如:

    @interface ViewController () <UIGestureRecognizerDelegate>
    // the rest of your interface
    @end
  2. 确保为手势设置委托(delegate):

    UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleMainTap:)];
    gesture.delegate = self;
    [self.view addGestureRecognizer:gesture];
  3. 然后检查相关 View 是否发生了触摸:

    - (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {
    if (CGRectContainsPoint(self.menuView.bounds, [touch locationInView:self.menuView]))
    return NO;

    return YES;
    }

关于ios - 仅为特定 View 禁用手势识别器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com