【问题标题】:What gets called when a UISlider value changes?当 UISlider 值改变时会调用什么?
【发布时间】:2010-11-04 01:26:58
【问题描述】:

UISlidervalue 发生变化时,是否会调用方法?我希望能够根据UISliders 值更新一个值,但仅限于它发生变化时。

【问题讨论】:

    标签: objective-c uislider


    【解决方案1】:

    在 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 并且仅当他们完成滑动时,请将 Continuous 设置为 NO(或在 IB 中取消选中)。

    【讨论】:

      【解决方案2】:

      对于 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
      }
      

      【讨论】:

        【解决方案3】:
        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];
        
        }
        

        【讨论】:

        • 您好 Acharya,欢迎来到 SO 并感谢您的回答。您能否编辑您的答案以描述这如何解决 OP 的问题?此处不鼓励仅使用代码的答案。谢谢!
        猜你喜欢
        • 1970-01-01
        • 2022-07-05
        • 1970-01-01
        • 2015-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多