2010-11-04 2 views

ответ

159

В 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 «s continuous property также устанавливается. С другой стороны, если вы не хотите, чтобы событие срабатывало, когда пользователь sliding, и только когда они заканчивают скольжение, установите непрерывное значение NO (или снимите флажок в IB).

0
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]; 

} 
+1

Привет Ачарья, добро пожаловать на SO и спасибо за ваш ответ. Можете ли вы изменить свой ответ, чтобы описать, как это решает проблему OP? Ответы только на код не приветствуются здесь. Благодаря! –

4

Для 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 
} 
Смежные вопросы