Я использую SnappingSlider. Я хочу использовать два экземпляра слайдера и иметь возможность изменять разные значения в зависимости от используемого слайдера.Swift/SnappingSlider/два экземпляра слайдера
Это мой текущий код:
import UIKit
import SnappingSlider
class ViewController: UIViewController, SnappingSliderDelegate {
private var remainingTime:Double = 0
private let remainingTimeLabel:UILabel = UILabel(frame: CGRectZero)
private let remainingTimeSlider:SnappingSlider = SnappingSlider(frame: CGRectMake(0.0, 0.0, 10.0, 10.0), title: "Slide Me")
private let percentageSlider:SnappingSlider = SnappingSlider(frame: CGRectMake(0.0, 0.0, 10.0, 10.0), title: "Slide Me")
override func viewDidLoad() {
super.viewDidLoad()
remainingTimeLabel.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width * 0.5, 80.0)
remainingTimeLabel.center = CGPointMake(self.view.bounds.size.width * 0.5, self.view.bounds.size.height * 0.21 - remainingTimeLabel.bounds.size.height * 0.75)
remainingTimeLabel.font = UIFont(name: "TrebuchetMS-Bold", size: 25.0)
remainingTimeLabel.textColor = UIColor.lightGrayColor()
remainingTimeLabel.textAlignment = NSTextAlignment.Center
remainingTimeLabel.text = "\(remainingTime)"
self.view.addSubview(remainingTimeLabel)
remainingTimeSlider.delegate = self
remainingTimeSlider.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width * 0.9, 50.0)
remainingTimeSlider.center = CGPointMake(self.view.bounds.size.width * 0.5, self.view.bounds.size.height * 0.2)
self.view.addSubview(remainingTimeSlider)
percentageSlider.delegate = self
percentageSlider.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width * 0.9, 50.0)
percentageSlider.center = CGPointMake(self.view.bounds.size.width * 0.5, self.view.bounds.size.height * 0.4)
self.view.addSubview(percentageSlider)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func snappingSliderDidIncrementValue(slider: SnappingSlider) {
remainingTime += 0.5
remainingTimeLabel.text = "\(remainingTime)"
}
func snappingSliderDidDecrementValue(slider: SnappingSlider) {
remainingTime = max(0, remainingTime - 0.5)
remainingTimeLabel.text = "\(remainingTime)"
}
}
Я хочу сделать что-то вроде этого:
func snappingSliderDidIncrementValue(slider: SnappingSlider) {
if slider == sliderA {
remainingTime += 0.5
remainingTimeLabel.text = "\(remainingTime)"
} else if slider == sliderB {
integerXY = += 0.5
labelXY.text = "\(remainingTime)"
}
меня отправить автору Slider по электронной почте и получил follwing текст обратно: Вы может установить один объект для работы в качестве делегата для нескольких экземпляров ползунка. Таким образом, вы должны установить свойство .delegate ползунков как любой объект, который вы соответствуете делегату, а затем вы проверите внутри обратных вызовов делегатов точно, как вы показали снизу.
Но я не понимаю ... Помощь очень ценится.
Edit:
Ваш код выглядит в основном правильно. Однако вам нужно подставить правильные имена для ваших слайдеров и ярлыков. – vacawama
@vacawama см. Редактирование, пожалуйста ... спасибо за вашу помощь –