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

Posted Forever_wj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于RxSwift之UI控件UISlider与UIStepper扩展的使用的主要内容,如果未能解决你的问题,请参考以下文章

RxSwift之UI控件UITextField与UITextView扩展的使用

RxSwift之UI控件UISwitch与UISegmentedControl扩展的使用

RxSwift之UI控件UIActivityIndicatorView与UIApplication扩展的使用

RxSwift之UI控件UIPickerView扩展的使用

RxSwift之UI控件UITableView扩展的基本使用

RxSwift之UI控件UICollectionView扩展的使用