首页 文章

UISlider拇指停止拖动

提问于
浏览
0

我在一个视图中有一个UISlider,在一个典型的细节View Controller中 . 当我触摸滑块的拇指时,我可以将它向左拖动,一旦我向左拖动它,我可以继续拖动它到任何我想要的地方,但是当我向右拖动时,它会移动几个像素,然后拖动停止 .

我在UISlider only slide a small distance读到它可能与手势识别器有关,但我没有尝试暂时删除任何可能会干扰的识别器,但这没有帮助 .

我没有要包含的示例代码,因为在我遇到问题的情况下涉及的代码实际上并不多 . 我有一个UIViewController子类,上面有一个UISlider,我有一个IB生成的“Value Changed”事件动作 . 这就是火,正如我所说,我可以向左拖动滑块,但不是正确的 .

我尝试更改动作,所以它只是NSLog滑块的值,这没有帮助 .

我希望问题是在我正在处理的应用程序中与其他东西进行某些交互,但我不确定在哪里查看 . 我正在寻找一些可能导致这种情况的想法 .

Update

所以我发现了问题 . 这是iOS 5.1中的一个错误,在iOS 5.1 swipe gesture hijacked by UISplitViewController - how to avoid?中有描述 .

我通过枚举所有的手势识别器(通过从self.view.window走向视图层次结构并转储它们)然后有选择地删除它们然后谷歌搜索最终导致问题的那个来跟踪它 . 屁股疼 . 将此留给下一位受害者 .

3 回答

  • 0

    简短回答:

    尝试将滑块的属性 continuous 设置为 NO .

    答案很长:

    我遇到了类似的问题:滑块's thumb would not move on iPad 5.1 Simulator. No problems on iOS 6 though. In my case, I was setting slider' s minimumValuemaximumValue 代码中的其他一些值 . 将 continuous 属性设置为 NO 后,问题消失了 . 相关的代码片段:

    self.precisionSlider.minimumValue = 0;
                self.precisionSlider.maximumValue = 15;
                self.precisionSlider.continuous = NO;
    
  • 0

    我发布了答案作为问题的更新,但简而言之,这是一个iOS 5.1错误 . 分割视图控制器的平移手势识别器正在干扰滑块 . 我的解决方法是禁用该识别器 .

  • 1

    您可能正在尝试将滑块的值增加到大于1的值 . 您需要输入介于0和1之间的浮点数,例如0.46 .

    查看代码中更新值的部分并检查它 .

相关问题