Swift开发

UITextField字数限制(RxSwift版)

2018-10-10  本文已影响29人  CN_HarrySun
  baseView.phoneField.rx.controlEvent([.editingChanged])
            .asObservable()
            .subscribe(onNext: { [weak self] _ in
                guard let `self` = self else { return }
                
                // 获取非选中状态文字范围
                let selectedRange = self.baseView.phoneField.markedTextRange
                // 没有非选中文字,截取多出的文字
                if selectedRange == nil {
                    let text = self.baseView.phoneField.text ?? ""
                    if text.count > 12 {
                        let index = text.index(text.startIndex, offsetBy: 13)
                        self.baseView.phoneField.text = String(text[..<index])
                    }
                }
                
            })
            .disposed(by: disposeBag)
上一篇 下一篇

猜你喜欢

热点阅读