iphone - UIButton 的触摸检测添加为 UIScrollView 中的 subview

标签 iphone ios uiscrollview uibutton uitouch

我有一个带有许多按钮的 ScrollView 。我想检测 scrollView 内 UIButton 上的触摸,但无法获取它们。我尝试通过子类化 uiscrollview 和 uibutton 但失败了。如果用户短时间按住该按钮,比如 2 秒,我想检测按钮上的触摸。然后我想将按钮拖动到用户可以将其拖动到 ScrollView 上的位置。请帮助我。

最佳答案

你不需要继承。

尝试为您的 UIButton 附加一个 UILongPressGestureRecognizer

看看here了解更多信息。

手势识别器可从 iOS 3.2 开始使用,并使与手势相关的所有事情变得非常简单。 Here你可以找到教程。

如果要支持以前的版本,就得另辟蹊径:

  1. UIControlEventTouchUpInsideUIControlEventTouchDown 操作添加到您的按钮;

  2. 在 touchDown 处理程序中开始计时(设置当前时间的变量);

  3. 在 touchUp 处理程序中停止计时;测量差异,如果高于您的阈值,则触发您的操作。

如果这不起作用,请提供更多信息来说明为什么不起作用。

关于iphone - UIButton 的触摸检测添加为 UIScrollView 中的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703974/

相关文章:

ios - UIButton 中的 Swift 3D Touch Force Value

ios - 处理嵌套 UIScrollView 中的冲突手势

iphone - 如何检查文本字段是否值并显示警报并清空 iPhone 中的文本字段

iphone - 区分 iPhone 应用程序崩溃和被杀死

iphone - 在iphone中以编程方式将两个图像合并到一个图像上

ios - 导航栏的实时模糊效果 - 状态栏无法进入

iPhone - 将视频显示为启动画面

android - iOS 或 Android 设备的 ID - 用户不可重置且无需用户许可即可拉取

ios - 将程序化 uiscrollview 更改为 IB

iphone - 每次缩放后重绘 UIScrollView 内容