swift - 添加换行符后 UITextView 高度变为可滚动
问题描述
我正在尝试设置 UITextview 的高度,并且在尝试格式化文本之前一切正常。
一个例子可能是 "/n" 或使用 Swift Multiline String Literals 的换行符。
之后,Textview 可以使用某种最大高度值滚动。
格式化文本会破坏“self.overViewTxt.contentSize.height”吗?
谢谢。
@IBOutlet weak var overViewTxt: UITextView!
@IBOutlet weak var overviewTxtHC: NSLayoutConstraint!
overViewTxt.text = "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, \n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
overviewTxtHC.constant = self.overViewTxt.contentSize.height
或者
overViewTxt.text = """
Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
"""
解决方案
尝试更新框架而不是使用约束:
overViewTxt.text = "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, \n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
let overviewTxtHCSize = overviewTxtHC.intrinsicContentSize
overviewTxtHC.bounds.size = overviewTxtHCSize
推荐阅读
- asp.net - 如何修复传入字典的项目是“模型”类型,但字典需要“System.Collections.Generic.IEnumerable”类型的模型
- reactjs - 反应:谷歌“一键”回调函数没有被调用
- reactjs - 如何在材质 UI 的反应中使用排版作为样式化组件
- java - 如何做 bluej 随机发生器和运动?
- reactjs - Django Webpack 加载器 Apache2
- javascript - 除非所述字符串的一部分被Node中的特定字符包围,否则如何从字符串中删除所有空格?
- webrtc - 我可以将 IP 网络摄像机模拟为 Chromium 检测到的媒体设备吗?
- flutter - http post请求颤动
- php - 如何更新 JSON 文件中的特定 JSON 对象数组?
- php - Laravel - 在运行时停止发送电子邮件