首页 文章

当UISlider值改变时会调用什么?

提问于
浏览
64

UISlidervalue 更改时,是否会调用方法?我希望能够根据 UISliders 值更新值,但仅在更改时...

谢谢你的帮助 .

3 回答

  • 5

    在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 ,则请确保 slidercontinuous property 也已设置 . 另一方面,如果您不希望事件以用户是 sliding 并且仅在完成滑动时触发,则将连续设置为NO(或在IB中取消选中) .

  • 0

    对于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
    }
    
  • 165
    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];
    
    }
    

相关问题