UISlider,拇指不动

时间:2010-07-12 04:31:47

标签: iphone ios-simulator uislider

我的表格单元格中有slider,这是我的滑块初始化代码:

UISlider* slider = [[UISlider alloc] init];
slider.continuous = NO;

slider.maximumValue = 2;
slider.minimumValue = 0.5f;
slider.value = 0.5f;

...
//put slider into cell

我无法移动这个滑块的拇指。为什么?请告诉我我做错了什么?

更新:如果将滑块的初始值设置为0.500001f - 它可以正常工作!

4 个答案:

答案 0 :(得分:1)

我怀疑这与这个问题直接相关,但是我有一个类似的问题 - 我的滑块可以通过我的程序设置它的值,它会移动,但我无法拖动和移动它。原来我已经为我的滑块子类编了一个trackRectForBounds方法,但没有意识到这个方法中的(x,y)位置是相对于滑块的UIView而不是包含视图。所以我使用相同的CGRect作为轨道边界,就像我在initWithFrame中对滑块所做的那样。这将滑块轨道放在滑块视图之外。结果是无法拖动滑块,并且轨道或滑块视图中的任何单击都由包含视图处理。

如果我没有碰巧给滑块的视图一个明显的背景颜色,那么轨道在视图之外并不清楚,我不知道如何解决它。

当我将trackRectForBounds中的(x,y)更改为(0,0)时,OR完全删除了覆盖trackRectForBounds,一切都运行良好。

也许这篇文章会帮助别人。

答案 1 :(得分:0)

如果你的拇指没有激活滑块,很可能是因为它上面有一个UIView。请发布cellForRowAtIndexPath

的代码

答案 2 :(得分:0)

这里没有足够的代码来估计问题。但我最近遇到了同样的问题,所以我只是告诉你我的问题是什么,并希望它有所帮助。

基本上我只是将细胞分成不同的区域,具有不同的标签和视图。我发现如果将滑块添加为UILabel对象的子视图,滑块将不会移动。所以我首先将UIView添加到同一区域,然后将UILabel和UIslider添加到此UIView中。现在一切正常。

答案 3 :(得分:0)

确保将最大滑块值设置为> 0