gpt4 book ai didi

ios - 当触摸位于不同的 subview 中时, super View 上的 UIPinchGestureRecognizer 不会尝试识别捏合

转载 作者:行者123 更新时间:2023-11-29 12:21:16 25 4
gpt4 key购买 nike

我正在尝试在我的 View 层次结构中的 Root View 上设置捏合手势。如果构成捏合的两个触摸位于两个不同的 subview 中,则无法识别该捏合手势。在下图中,我的绿色 Root View 无法识别捏合手势(由橙色触摸表示),因为每个触摸都存在于不同的蓝色 subview 中。这些蓝色 subview 是 View 层次结构中的 sibling ,是绿色 Root View 的 subview 。

View hierarchy with touches diagram

如果两个触摸都发生在同一个 subview 中,则可以正确识别捏合手势。捏合手势识别器永远不会改变状态,因此当触摸发生在不同的 subview 中时,永远不会有机会识别捏合(通过子类化 UIPinchGestureRecognizer 并记录对 setState: 的调用来验证)。

最后, subview 和 Root View 都处理许多其他手势,包括平移和点击。我尝试在 View 层次结构中添加一个清晰的覆盖层来捕捉捏合,这很有效,但是那个清晰的覆盖层 View 会阻止正确定位到蓝色 subview 的触摸和点击。

有没有办法让捏合手势在上图中的情况下起作用,或者我是否注定只能识别层次结构中的一个 View 中发生的捏合手势?

最佳答案

我的问题与您的问题很相似 - 当两个手指都在 1 个 subview 上时,UIPinchGestureRecognizer 在 super View 上不起作用。它有 UIScrollView,它的内部图片识别器延迟了我自己的识别器。

也可以通过设置手势识别器委托(delegate)并设置它在另一个识别器这样做时捕捉触摸的能力来解决问题

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;}

但这不是我的情况(因为客户愿意,需要他们互相等待)

关于ios - 当触摸位于不同的 subview 中时, super View 上的 UIPinchGestureRecognizer 不会尝试识别捏合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30562445/

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