您的位置:首页 > 产品设计 > UI/UE

UITextField有高亮字符的情况下如何控制字符输入个数

2017-09-12 16:00 531 查看
func getTextFieldText(with str: String?) -> String?{
//最大字符个数为10
guard let s = str, s.characters.count > 10 else {
return str
}

let startIndex = str!.startIndex
let endIndex = str!.index(str!.startIndex, offsetBy: maxLen)
return str?.substring(with: startIndex ..< endIndex)
}

//绑定到valueChanged事件
func textFieldValueChanged(textField: UITextField){
let textStr = textField.text
let lang = UIApplication.shared.textInputMode?.primaryLanguage
if lang == "zh-Hans" || lang == "zh-Hant" {
let selectedRange = textField.markedTextRange
guard selectedRange != nil else{
textField.text = self.getTextFieldText(with: textStr)
return
}

let position = textField.position(from: selectedRange!.start, offset: 0)
guard position != nil else {
textField.text = self.getTextFieldText(with: textStr)
return
}
}else{
textField.text = self.getTextFieldText(with: textStr)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: