2010-11-04 11 views

Antwort

159

In IB können Sie eine IBAction an die Value Changed event anschließen oder in Code hinzufügen Ziel/Aktion für UIControlEventValueChanged. Zum Beispiel:

[mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; 

- (IBAction)sliderValueChanged:(UISlider *)sender { 
    NSLog(@"slider value = %f", sender.value); 
} 

Beachten Sie, wenn Sie die Wertänderungsereignisse wollen, wenn der Benutzer sliding ist, dann sicher sein, dass die slider ‚s continuous property ebenfalls gesetzt. Wenn das Ereignis jedoch nicht ausgelöst werden soll, wenn der Benutzer sliding ist, und nur wenn das Gleiten beendet wird, setzen Sie fortlaufend NO (oder deaktivieren Sie in 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

Hallo Acharya, willkommen zu SO und vielen Dank für Ihre Antwort. Können Sie bitte Ihre Antwort bearbeiten, um zu beschreiben, wie dies das Problem des OP löst? Code-only-Antworten werden hier nicht empfohlen. Vielen Dank! –

4

Für 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 
} 
Verwandte Themen