如何在Swift中自定义UISlider值

UISlider编程方式创buildUISlider 。 我试图定制UISlider值为UISlider ,…任何人给我的解决scheme

 sliderDemo = UISlider(frame:CGRectMake(0, 0, 200,20)) var numberOfSteps : NSInteger = numbers.count - 1 sliderDemo.minimumValue = 6.5 sliderDemo.maximumValue = 4.1 sliderDemo.continuous = true sliderDemo.value = 4.0 sliderDemo.addTarget(self, action: "sliderValueDidChange:", forControlEvents: .ValueChanged) self.view.addSubview(sliderDemo) func sliderValueDidChange(sender:UISlider!) { println("number:\(sender.value)") } 

我只是为你创build一个自定义滑块的例子,在这种情况下,我自己创build并添加它到表单中,但是你可以很容易地使用故事板中的那个,你只需要把你的值添加到数字中数组,结果将在valueChanged函数中的variables数中,您可以使用observer,notifications或protocol来检索值更改的值,或者只需从那里调用一个函数。

 class ViewController: UIViewController { var slider:UISlider? // These number values represent each slider position var numbers = [1, 2, 3, 4, 5, 6, 7] //Add your values here var oldIndex = 0 override func viewDidLoad() { super.viewDidLoad() slider = UISlider(frame: self.view.bounds) self.view.addSubview(slider!) // slider values go from 0 to the number of values in your numbers array var numberOfSteps = Float(numbers.count - 1) slider!.maximumValue = numberOfSteps; slider!.minimumValue = 0; // As the slider moves it will continously call the -valueChanged: slider!.continuous = true; // false makes it call only once you let go slider!.addTarget(self, action: "valueChanged:", forControlEvents: .ValueChanged) } func valueChanged(sender: UISlider) { // round the slider position to the nearest index of the numbers array var index = (Int)(slider!.value + 0.5); slider?.setValue(Float(index), animated: false) var number = numbers[index]; // <-- This numeric value you want if oldIndex != index{ println("sliderIndex:\(index)") println("number: \(number)") oldIndex = index } } } 

我希望能帮到你!