UITextField字数限制(RxSwift版)

  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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容