UITextView动态改变高度

  func textViewDidChange(_ textView: UITextView) {
        
        let textViewWidth = textView.frame.size.width
        let content = textView.text
        let contentSize = content?.size(font: UIFont.pingFangSCRegularFont(ofSize: 16))
        if let width = contentSize?.width, textViewWidth > 0 {
            var numLine = Int(ceil(width / textViewWidth))
            if numLine > currentLineNum {
                textView.snp.updateConstraints { (make) in
                    make.height.equalTo(24 + numLine * 24)
                }
            } else if (numLine < currentLineNum) {
                if numLine <= 1 {
                    textView.snp.updateConstraints { (make) in
                        make.height.equalTo(48)
                    }
                } else {
                    textView.snp.updateConstraints { (make) in
                        make.height.equalTo(24 + numLine * 24)
                    }
                }
            }
            if numLine == 0 {
                numLine = 1
            }
            currentLineNum = numLine
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。