What gets called when a UISlider value changes?

前端 未结 3 1094
面向向阳花
面向向阳花 2020-12-13 08:22

Does a method get called when a UISlider\'s value changes? I want to be able to update a value based on the UISliders value, but only

相关标签:
3条回答
  • 2020-12-13 08:40
    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];
    
    }
    
    0 讨论(0)
  • 2020-12-13 08:41

    In IB, you can hook up an IBAction to the Value Changed event or in code add target/action for UIControlEventValueChanged. For example:

    [mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
    
    - (IBAction)sliderValueChanged:(UISlider *)sender {
        NSLog(@"slider value = %f", sender.value);
    }
    

    Note that if you want the value change events as the user is sliding, then be sure that the slider's continuous property is also set. On the other hand, if you don't want the event to fire as the user is sliding and only when they finish sliding, set continuous to NO (or uncheck in IB).

    0 讨论(0)
  • 2020-12-13 08:55

    For 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
    }
    
    0 讨论(0)
提交回复
热议问题