【发布时间】:2016-07-16 03:11:00
【问题描述】:
我有这两个按钮,如果我按下左侧的按钮,我希望滑块一直缓慢地向左移动,当我按下右侧的按钮以一直移动滑块时也是如此向右。我现在的代码非常快速地移动滑块,我希望它是逐渐的。
override func didMoveToView(view: SKView) {
middleSlider = UISlider(frame: CGRectMake(self.view!.bounds.width/2 - 150/2, self.view!.bounds.height/2 * 1.7, 150, 50))
middleSlider.tintColor = UIColor.whiteColor()
middleSlider.minimumTrackTintColor = UIColor.whiteColor()
middleSlider.maximumTrackTintColor = UIColor.whiteColor()
middleSlider.setThumbImage(UIImage(named: "mixerb1"), forState: UIControlState.Normal)
middleSlider.maximumValue = 2.0
middleSlider.minimumValue = 0.0
middleSlider.value = 1.0
middleSlider.continuous = true
middleSlider.userInteractionEnabled = true
middleSlider.addTarget(self, action: #selector(middleSliderChangeAudio), forControlEvents: UIControlEvents.AllEvents)
self.view?.addSubview(middleSlider)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let location = touch.locationInNode(self)
let node = self.nodeAtPoint(location)
if node.name == "left" {
print("slider moves to left")
UIView.animateWithDuration(10.0, animations: {
self.middleSlider.value = self.middleSlider.minimumValue
self.middleSlider.continuous = true
}
)
}
if node.name == "right" {
print("slider moves to right")
UIView.animateWithDuration(10.0, animations: {
self.middleSlider.value = self.middleSlider.maximumValue
self.middleSlider.continuous = true
}
)
}
}
【问题讨论】:
-
问题是
self.middleSlider.value不是动画属性,所以你根本没有得到任何动画。 -
我应该使用什么?