gpt4 book ai didi

objective-c - 为什么不调用 UIPinchGestureRecognizer 而 scrollViewDidEndZooming 是?

转载 作者:行者123 更新时间:2023-12-01 17:45:45 24 4
gpt4 key购买 nike

我有一个 UIViewController,它使用 UIScrollView,并且在该 Scrollview 中它有一个 UIImageView。

我想识别捏合并相应地缩放。我不需要缩放,我只需要显示不同的图像。

它看起来很像这个问题:UIView UIPinchGestureRecognizer problem

我尝试了几件事:

  • 将 contentMode 设置为 UIViewContentModeScaleAspectFit
  • 设置 multipleTouchEnabled = YES
  • 设置 userInteractionEnabled = YES

  • 然而,它仍然不能总是捕捉到捏合事件。

    这是我将手势分配给 View 的方式,非常简单:
       UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(zoomPinch:)];
    [MediaScroller addGestureRecognizer:pinchRecognizer];
    [pinchRecognizer release];

    另外,我确实注意到 scrollViewDidEndZooming被我的委托(delegate)调用,但比例变量始终为 1.0。怎么可能?
    scrollViewDidEndZooming总是被调用,而 pinch 方法 (zoomPinch) 并不总是被调用。为什么会发生这种情况?我该如何解决? :)

    最佳答案

    我相信你需要在你的 recognizer delegate 中实现这个。 :

    pinchRecognizer.delegate = self;

    然后,在自我课上:
    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return YES;
    }

    由于该类已经识别出捏合(用于缩放),因此您可能需要启用多个处理程序来进行捏合。

    关于objective-c - 为什么不调用 UIPinchGestureRecognizer 而 scrollViewDidEndZooming 是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6747427/

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