欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2024/5/21 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 RxSwift之UI控件UISwitch与UISegmentedControl扩展的使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、UISwitch(开关按钮)

  • 实现当 switch 开关状态改变时,输出当前值:


  • 示例代码:
switch1.rx.isOn.asObservable().subscribe(onNext: {print("当前开关状态:\($0)")}).disposed(by: disposeBag)
  • 当切换 switch 开关时,button 会在可用和不可用的状态间切换:


  • 示例代码:
switch1.rx.isOn.bind(to: button1.rx.isEnabled).disposed(by: disposeBag)

二、UISegmentedControl(分段选择控件)

  • 实现当 UISegmentedControl 选中项改变时,输出当前选中项索引值:

  • 示例代码:
segmented.rx.selectedSegmentIndex.asObservable().subscribe(onNext: {print("当前项:\($0)")}).disposed(by: disposeBag)
  • 当 segmentedControl 选项改变时,imageView 会自动显示相应的图片:

  • 示例代码:
import UIKit import RxSwift import RxCocoaclass ViewController: UIViewController {// 分段选择控件@IBOutlet weak var segmented: UISegmentedControl!// 图片显示控件@IBOutlet weak var imageView: UIImageView!let disposeBag = DisposeBag()override func viewDidLoad() {// 创建一个当前需要显示的图片的可观察序列let showImageObservable: Observable<UIImage> =segmented.rx.selectedSegmentIndex.asObservable().map {let images = ["js.png", "php.png", "react.png"]return UIImage(named: images[$0])!}// 把需要显示的图片绑定到 imageView 上showImageObservable.bind(to: imageView.rx.image).disposed(by: disposeBag)} }

总结

以上是生活随笔为你收集整理的RxSwift之UI控件UISwitch与UISegmentedControl扩展的使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。