在 UITableViewCell 中重用 UITextView
Reusing UITextView inside UITableViewCell
我正在使用 UITextView
在 UITablViewCell
.
中显示一些复杂的内容(例如具有不同颜色的文本、图像、link 等)
首先将内容解析为 NSTextStorage
实例。然后对应的NSLayoutmanager
和NSTextContianer
配置文本存储
最后,一个TextView
实例由文本容器组成。
let textView = UITextViewFixed(frame: frame, textContainer: container)
问题是,文本视图不允许切换文本容器。因此,文本视图需要从父视图中删除,使用新的文本容器重新分配,并在每次重用父单元格时添加回单元格。而且它会使滚动不是很流畅。
在文本容器中尝试 replaceLayoutManager
,但不起作用。
我想知道是否有办法在我的案例中重用文本视图?
事实证明,文本视图无法按照我的使用方式重复使用。
作为解决方法,我放弃了每次内容更改时从文本容器创建 UITextView 的做法。文本视图现在是用单元格创建的,就像所有其他子视图一样。更改 attributedText
应该足以满足我现在的使用需求。
我正在使用 UITextView
在 UITablViewCell
.
首先将内容解析为 NSTextStorage
实例。然后对应的NSLayoutmanager
和NSTextContianer
配置文本存储
最后,一个TextView
实例由文本容器组成。
let textView = UITextViewFixed(frame: frame, textContainer: container)
问题是,文本视图不允许切换文本容器。因此,文本视图需要从父视图中删除,使用新的文本容器重新分配,并在每次重用父单元格时添加回单元格。而且它会使滚动不是很流畅。
在文本容器中尝试 replaceLayoutManager
,但不起作用。
我想知道是否有办法在我的案例中重用文本视图?
事实证明,文本视图无法按照我的使用方式重复使用。
作为解决方法,我放弃了每次内容更改时从文本容器创建 UITextView 的做法。文本视图现在是用单元格创建的,就像所有其他子视图一样。更改 attributedText
应该足以满足我现在的使用需求。