触摸拖动外部时,UISlider拇指会发生变化

时间:2013-04-23 19:45:40

标签: ios uislider

我正在UISlider拇指上更改图像,如下所示:

[mySlider setThumbImage:thumbRegular forState:UIControlStateNormal];
[mySlider setThumbImage:thumbActive forState:UIControlStateHighlighted];

当我擦洗时,它全部按照我的预期工作,但是当我的手指在擦洗时拖出拇指(向外拖动)时,拇指图像会变回“thumbRegular”,即使擦洗本身继续正常。 (当拖动回到里面时,更改回“thumbActive”)。

有关如何纠正此行为的任何想法?或者是预期的行为?

2 个答案:

答案 0 :(得分:0)

也发生在我身上。只需确保在设置拇指图像后设置minimumValue,maximumValue和值,一切都可以在ios 6上正常工作。

[mySlider setThumbImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[mySlider setMinimumTrackImage:[UIImage new] forState:UIControlStateNormal];
[mySlider setMaximumTrackImage:[UIImage new] forState:UIControlStateNormal];

mySlider.minimumValue = 0;
mySlider.maximumValue = 100;
mySlider.value = 100;

答案 1 :(得分:0)

您可以将拇指定义为正常状态,然后像您一样在viewDidLoad()内拖动:

mySlider.setThumbImage(normalImage, forState: UIControlState.Normal)
mySlider.setThumbImage(selectedImage, forState: UIControlState.Highlighted)

UISlider中实施Touch Drag OutsideValue ChangedViewController行动。

示例:

@IBAction func sliderValueChangedAction(sender: UISlider)  {
        mySlider.setThumbImage(normalImage, forState: UIControlState.Normal)
    }

@IBAction func sliderDragOutside(sender: UISlider) {
        mySlider.setThumbImage(selectedImage, forState: UIControlState.Normal)
    }

这两个动作可让您区分拇指在正常状态和将拇指拖到UISlider之外的时间。