gpt4 book ai didi

iphone - UISlider 作为 UIScrollview 的 subview

转载 作者:行者123 更新时间:2023-12-03 21:19:08 24 4
gpt4 key购买 nike

Possible Duplicate:
UISlider and UIScrollView

使用 iOS SDK 4.3。我发现当我有一个 UISlider 作为 UIScrollView 的 subview 时当我尝试拖动 slider 时,它最终会滚动,这当然是水平滚动。

这将是一个糟糕的用户体验。任何人都知道如何实现这一点以避免这个问题。

谢谢

最佳答案

您可以在 UISlider 中监视触摸事件,在触摸按下事件时,您可以将 UIScrollView 的scrollEnabled 设置为 NO,然后在触摸内部和外部事件上,再次将其设置为 YES。看看这是否可以解决您的问题,或者 UIScrollView 的滚动是否发生在 UISlider 接收到任何触摸事件之前?

编辑:正如诺亚指出的那样,这是行不通的。相反,您可以做的是 UIScrollView 的子类化并覆盖 TouchesBegan、touchesMoved 和 TouchesEnded 方法。在里面,您可以检查触摸是否对应于包含 UISlider 的区域,如果是,则将触摸手动传递到 slider 。我正在为我正在开发的一个项目执行此操作,该项目在 ScrollView 内有一个刻度盘(我制作的自定义控件)。我需要能够在不滚动的情况下转动表盘。当我检测到触摸落在touchesBegan内的表盘内时,我将禁用 ScrollView 上的滚动,然后在touchesMoved中我会将它们传递给表盘。另外,您可能想查看 hitTest:withEvent: 方法来拦截那里的一些触摸。

关于iphone - UISlider 作为 UIScrollview 的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657526/

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