gpt4 book ai didi

objective-c - UIButton 在滚动时没有响应

转载 作者:行者123 更新时间:2023-11-29 11:05:43 26 4
gpt4 key购买 nike

我有一个 subview ,其中一个 UIButton 添加到 UIScrollView。

只要用户不滚动,按钮就可以正常工作。如果用户单击按钮时 UIScrollView 仍在滚动,它只会停止滚动(就像单击了一行)。

有人知道如何解决这个问题吗?

最佳答案

首先,确保这确实是您想要的行为 - iOS 用户习惯于 ScrollView 和触摸以在不触发按钮按下的情况下通过点击来停止它们。非标准行为(即使您认为它比标准行为更好)可能会让习惯于其他 iOS 应用程序工作方式的用户感到困惑 - 它可能违反他们的 mental model .好的,注意事项结束。

那么如何解决这个问题呢? UIScrollView 延迟发送触摸事件,直到它知道这些触摸是否为滚动事件。您的问题是当 UIScrollView 移动时,用户点击 滚动事件。两种可能的解决方案:

  1. 阻止 UIScrollView 延迟它获得的任何触摸事件。您可以将任何 ScrollView delaysContentTouches 设置为 NO,这将停止延迟操作并且应该允许在滚动时点击您的按钮。您可以在 UIScrollView class documentation 中阅读相关信息.您还需要在那里阅读有关 canCancelContentTouches 的内容。

  2. 子类化 UIScrollView 以添加您自己的关于触摸事件应该去哪里的逻辑。 Here is a blog post that discusses how to do this .

关于objective-c - UIButton 在滚动时没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703101/

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