【发布时间】:2016-01-05 16:41:42
【问题描述】:
我有一个UISlider,我试图在用户点击某个时间时使位置移动,而不是移动拇指。
我尝试通过this topic 和this answer 来解决这个问题,我采用了这种方法。这是我尝试过的:
var slider: UISlider! // and maxValue, etc added in viewDidLoad
func sliderTapped(gestureRecognizer: UIGestureRecognizer) {
var pointTapped: CGPoint = gestureRecognizer.locationInView(self.view)
var positionOfSlider: CGPoint = slider.frame.origin
var widthOfSlider: CGFloat = slider.frame.size.width
var newValue = ((pointTapped.x - positionOfSlider.x) * CGFloat(slider.maximumValue) / widthOfSlider)
slider.setValue(Float(newValue), animated: true)
}
但是,它不会让我在滑块上的任何位置获得点击值。它只能让我握住拇指并滑动它,但不能轻敲。
【问题讨论】:
标签: ios swift uislider uitapgesturerecognizer