美文网首页
iOS textView限制输入字符数

iOS textView限制输入字符数

作者: Oo晨晨oO | 来源:发表于2017-08-16 15:22 被阅读19次

    实现代理
    然后实现下面方法:

    func textViewDidChange(_ textView: UITextView) {
            if textView.text.characters.count > 0 {
                placeHolderLabel.alpha = 0
            } else {
                placeHolderLabel.alpha = 1
            }
            
            // 限制140个字符
            let TOTAL_NUM = 140
            if textView.text.characters.count > TOTAL_NUM {
                
                //获得已输出字数与正输入字母数
                let selectRange = textView.markedTextRange
                
                //获取高亮部分 - 如果有联想词则解包成功
                if let selectRange = selectRange {
                    let position =  textView.position(from: (selectRange.start), offset: 0)
                    if (position != nil) {
                        return
                    }
                }
                
                let textContent = textView.text
                let textNum = textContent?.characters.count
                
                //截取字符
                if textNum! > TOTAL_NUM {
                    let index = textContent?.index((textContent?.startIndex)!, offsetBy: TOTAL_NUM)
                    let str = textContent?.substring(to: index!)
                    textView.text = str
                }
            }
            
        }
    

    相关文章

      网友评论

          本文标题:iOS textView限制输入字符数

          本文链接:https://www.haomeiwen.com/subject/ujvirxtx.html