ios - 无法以可编程方式使用 Highlightr 在 UITextView 上显示全部内容
问题描述
我Highlightr
用来高亮代码,下面是一些代码
var highlightr : Highlightr!
let textStorage = CodeAttributedString()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(tvContent)
}
lazy var tvContent:(UITextView) = {
textStorage.language = "html"
let layoutManager = NSLayoutManager()
textStorage.addLayoutManager(layoutManager)
let textContainer = NSTextContainer(size: view.bounds.size)
layoutManager.addTextContainer(textContainer)
let textView = UITextView(frame: CGRect(x: 5, y: 60, width: self.view.frame.size.width - 10, height: self.view.frame.size.height - 60), textContainer: textContainer)
return textView
}()
func fromServer() {
let API_URL = "https://www.google.com"
Alamofire.request(API_URL)
.responseJSON { response in
let data = json.object(forKey: "data")!
self.tvContent.text = data as? String
}
}
调用该函数后fromServer
,我将得到google.com的html代码,但tvContent
仅显示部分代码。
如果我删除Highlightr
,只使用 UITextView,tvContent
可以显示所有这样的代码
有任何想法吗?非常感谢。
解决方案
无需以编程方式添加高度,使用约束并使 textview 滚动为 false
推荐阅读
- reactjs - 允许用户使用反应组件将模块添加到页面
- android-mediacodec - MTK 平台中的 Mediacodec 解码器问题?
- reactjs - 当我设置相同的状态值时,如何避免触发 useEffect?
- sql - MariaDB 如何处理已经系统版本化的表
- python - 能不能用pandas过滤亿万行数据
- javascript - 如何根据订单号通过文本删除特定的 Li 标签?
- html - 为什么这些框不能垂直对齐?
- javascript - for ... 在 if 语句之后的语句中
- swift - 关于 swift5 和 alamofire5,如何使用 AF.request 检查登录是否成功?
- java - Spring Batch 中 SimpleJobBuilder 和 FlowJobBuilder 的区别?