我在一个视图中有一个 UISlider,在一个典型的细节视图控制器中。当我触摸滑块的拇指时,我可以很好地将它向左拖动,一旦我将它向左拖动,我可以继续将它拖动到任何我想要的地方,但是当我向右拖动它时,它会移动几个像素然后拖动停止。
我在UISlider 上读到的只是滑动了一小段距离,它可能与手势识别器有关,但我在这个视图中没有任何识别器处于活动状态。我尝试暂时删除任何可能干扰的识别器,但这没有帮助。
我没有任何示例代码要包含,因为在我遇到问题的情况下实际上涉及的代码并不多。我有一个 UIViewController 子类,它上面有一个 UISlider,并且我有一个 IB 为“Value Changed”事件生成的操作。这会触发,正如我所说,我可以向左拖动滑块,但不能向右拖动。
我尝试更改操作,所以它所做的只是 NSLog 滑块的值,但这无济于事。
我预计问题是与我正在开发的应用程序中的其他内容进行了一些交互,但我不确定在哪里看。我正在寻找可能导致这种情况的一些想法。
更新
所以我发现了问题。这是 iOS 5.1 中的一个错误,在iOS 5.1 滑动手势被 UISplitViewController 劫持中描述 - 如何避免?.
我通过枚举所有手势识别器(通过从 self.view.window 遍历视图层次结构并转储它们)然后有选择地删除它们,然后谷歌搜索最终导致问题的那个来跟踪它。屁股疼。把这个留给下一个受害者。