gpt4 book ai didi

iOS 5 : UIScrollView not pass touches to nextResponder

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:13:48 27 4
gpt4 key购买 nike

我有一个 UIScrollView 的子类,并为它覆盖所有 4 个 Touches 函数。在那些 Touches 函数中,[[self nextResponder] Touches...][super Touches...] 用于传递触摸事件。

我还有一个 View Controller ,我也在其中覆盖了所有 4 Touches 函数。在 Controller 中,我将 self.view 设置为: self.view = subclass of UIScrollview;

在iOS 5之前,当 ScrollView 上有触摸移动时, View Controller 的触摸功能可以接收所有触摸开始/移动/结束/取消调用。但是在 iOS 5 中,他们不能,只有一个 touchesBegan 和一个 touchesMove 被接收。

从代码日志来看,UIScrollView子类中的触摸函数总是被调用。

此外,如果我设置 subclass.enableUserInteraction=NO, View Controller 中的 touches 函数将被很好地调用。但我需要 ScrollView 与用户进行交互,所以我不能将其设置为否。

我在 iOS 5 中遗漏了什么不同之处吗?提前谢谢你。

最佳答案

有一个非常简单的解决方法:)

代替:

[self.nextResponder touchesMoved:touches withEvent:event];

使用:

[[self.nextResponder nextResponder] touchesMoved:touches withEvent:event];

也适用于 touchesBegan 和 touchesEnded。

就是这样!问题解决了!现在触摸事件被传递给下一个响应者:)

关于iOS 5 : UIScrollView not pass touches to nextResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8485853/

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