Iphone UISlider拇指停止拖动

Iphone UISlider拇指停止拖动,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,我在视图中有一个UISlider,在一个典型的局部视图控制器中。当我触摸滑块的拇指时,我可以很好地向左拖动它,一旦我向左拖动它,我可以继续拖动它到我想要的任何地方,但是当我向右拖动它时,它会移动几个像素,然后拖动停止 我当时读到它可能与手势识别器有关,但在这个视图中我没有任何激活的识别器。我已经尝试暂时删除任何可能会干扰的识别器,但没有帮助 我没有任何示例代码要包含,因为我遇到问题的案例中涉及的代码并不多。我有一个UIViewController子类,上面有一个UISlider,我有一个IB为“

我在视图中有一个UISlider,在一个典型的局部视图控制器中。当我触摸滑块的拇指时,我可以很好地向左拖动它,一旦我向左拖动它,我可以继续拖动它到我想要的任何地方,但是当我向右拖动它时,它会移动几个像素,然后拖动停止

我当时读到它可能与手势识别器有关,但在这个视图中我没有任何激活的识别器。我已经尝试暂时删除任何可能会干扰的识别器,但没有帮助

我没有任何示例代码要包含,因为我遇到问题的案例中涉及的代码并不多。我有一个UIViewController子类,上面有一个UISlider,我有一个IB为“值更改”事件生成的操作。这将触发,正如我所说,我可以向左拖动滑块,但不能向右拖动

我试着改变动作,所以它所做的只是记录滑块的值,但这没有帮助

我想问题是在我正在开发的应用程序中与其他东西发生了一些交互,但我不确定该去哪里查找。我想知道是什么导致了这一切

更新

所以我发现了问题。这是iOS 5.1中的一个bug,如中所述


我列举了所有的手势识别器(从self.view.window遍历视图层次并转储它们),然后有选择地删除它们,然后用谷歌搜索导致问题的那个。屁股痛。将此信息留给下一个受害者。

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


查看代码中更新值的部分并进行检查。

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

简短回答:

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

长答覆:

我遇到了一个类似的问题:slider的拇指在iPad5.1模拟器上无法移动。不过在iOS 6上没有问题。 在我的例子中,我将滑块的
minimumValue
maxiumvalue
设置为代码中的一些其他值。在我将
continuous
属性设置为
NO
后,问题消失了。相关代码片段:

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

你能提供一个项目(github,dropbox)来演示这种行为吗?我从来没有遇到过这样的问题,如果它是一个简单的代码,那么是否可以在dropbox中上传项目并共享公共链接,或者可能是github。@CodaFi,该死的冗余!lolIt是一个相当复杂的应用程序,所以我无法在GitHub中发布整个内容,而且这个问题不会发生在一个简单的测试应用程序中。这里还有一条信息:这不会发生在iPhone上,只会发生在iPad上。它闻起来像是与手势识别器的交互,但我已经注释掉了整个应用程序中的所有手势识别器,仍然存在问题。还有什么会干扰滑块接收到的触摸事件吗?我刚刚编写了一些代码来查找并删除所有手势识别器(基本上是从根窗口遍历UIView并将其全部删除),这样做之后,问题就消失了。我可以看到,有相当多的手势识别器我没有安装(甚至没有识别,比如uigobblergesturererecognizer),它们很可能是UIKit内部的。现在我要找出哪一个给我带来了悲伤。我目前没有将该值设置为任何值,因此我认为这不会是问题所在-而且,最大值默认为1.0,但我使用了不同的值(在本例中为2.0),因此该值不必小于1.0。如果滑块在范围的中间,我抓住它并拖动它,它会移动一点点,然后停止移动;但如果我抓住它并向左拖动,它会移动自如,包括向右拖动。非常奇怪。如果您仍然需要帮助,请发布代码。我很乐意看一下。