Что вызывается при изменении значения UISlider?
метод вызывается, когда a UISlider
' s value
изменения? Я хочу иметь возможность обновить значение на основе UISliders
значение, но только при его изменении...
Спасибо за любую помощь.
3 ответа:
в IB, вы можете подключить
IBAction
доValue Changed event
или в коде добавить цель / действие дляUIControlEventValueChanged
. Например:[mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; - (IBAction)sliderValueChanged:(UISlider *)sender { NSLog(@"slider value = %f", sender.value); }
обратите внимание, что если вы хотите изменить значение события как пользователь
sliding
, тогда будьте уверены, чтоslider
' scontinuous property
также установлена. С другой стороны, если вы не хотите, чтобы огонь событие, когда пользовательsliding
и только когда они закончат скользить, установите continuous В NO (или снимите флажок в IB).
Для Swift 3
//There is your slider @IBOutlet weak var mSlider: UISlider! //add a target on your slider on your viewDidLoad for example self.mSlider.addTarget(self, action: #selector(MyClass.onLuminosityChange), for: UIControlEvents.valueChanged) //callback called when value change func onLuminosityChange(){ let value = self.mSlider.value }
ViewController.h @property (strong, nonatomic) IBOutlet UIProgressView *prgs; - (IBAction)slider:(id)sender; @property (strong, nonatomic) IBOutlet UISlider *slider1; @property (strong, nonatomic) IBOutlet UILabel *lbl; ViewController.m - (IBAction)slider:(id)sender { self.prgs.progress=self.slider1.value; self.lbl.text = [NSString stringWithFormat:@"%f", self.slider1.value]; }