写在前面
UILabel
文字绑定到 UILabel
let label = UILabel()
label.frame = CGRect.init(x: 10, y: 110, width: 200, height: 40)
self.view.addSubview(label)
//MARK: 值绑定
Observable.just("Hello RxSwift")
.bind(to: label.rx.text)
.disposed(by: DisposeBag())
UITextFiled
监听单个 textField 内容的变化
lazy var textFiled: UITextField = {
let textfiled = UITextField()
textfiled.frame = CGRect.init(x: 30, y: 200, width: 100, height: 40)
return textfiled
}()
self.view.addSubview(self.textFiled)
// MARK:监听textFiled的变化
textFiled.rx.text.orEmpty.asObservable().subscribe(onNext: {
print("你输入的是: \($0)")
}).disposed(by: DisposeBag())
textFiled.rx.text.orEmpty.changed.subscribe(onNext: {
print("你输入的是: \($0)")
}).disposed(by: DisposeBag())
UIButton
let disposeBag = DisposeBag()
lazy var submitBtn: UIButton = {
let btn = UIButton.init()
btn.frame = CGRect.init(x: 40, y: 270, width: 100, height: 50)
btn.backgroundColor = UIColor.orange
btn.setTitle("点击", for: UIControl.State.normal)
btn.setTitleColor(UIColor.black, for: UIControl.State.normal)
return btn
}()
//按钮点击
self.submitBtn.rx.tap
.subscribe(onNext: { [weak self] in
self?.showMessage("按钮被点击")
})
.disposed(by: disposeBag)
self.submitBtn.rx.tap
.bind { [weak self] in
self?.showMessage("按钮被点击")
}
.disposed(by: disposeBag)
//显示消息提示框
func showMessage(_ text: String) {
let alertController = UIAlertController(title: text, message: nil, preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "确定", style: .cancel, handler: nil)
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)
}