RxSwift之UI控件UISlider与UIStepper扩展的使用

一、UISlider(滑块)

  • 如下所示,当拖动滑块时,在控制台中实时输出 slider 当前值:

在这里插入图片描述

当前值为:0.308442
当前值为:0.349990
当前值为:0.400087
当前值为:0.459987
当前值为:0.550990
当前值为:0.700990
  • 示例代码:
import UIKit
import RxSwift
import RxCocoa
 
class ViewController: UIViewController {
    
    
     
    @IBOutlet weak var slider: UISlider!

    let disposeBag = DisposeBag()
     
    override func viewDidLoad() {
    
    
        slider.rx.value.asObservable()
            .subscribe(onNext: {
    
    
                print("当前值为:\($0)")
            })
            .disposed(by: disposeBag)
    }
}

二、UIStepper(步进器)

  • 如下所示,当 stepper 值改变时,在控制台中实时输出当前值:

在这里插入图片描述

当前值为:7.0
当前值为:6.0
当前值为:5.0
当前值为:6.0
当前值为:7.0
当前值为:8.0
  • 示例代码:
stepper.rx.value.asObservable()
    .subscribe(onNext: {
    
    
        print("当前值为:\($0)")
    })
    .disposed(by: disposeBag)
  • 使用滑块(slider)来控制 stepper 的步长:

在这里插入图片描述

  • 示例代码:
slider.rx.value
    .map{
    
     Double($0) }  // 由于slider值为Float类型,而stepper的stepValue为Double类型,因此需要转换
    .bind(to: stepper.rx.stepValue)
    .disposed(by: disposeBag)

猜你喜欢

转载自blog.csdn.net/Forever_wj/article/details/121109954