我正在使用UITextView
在UITablViewCell
内显示一些复杂内容(如不同颜色,图片,链接等文字)。
首先将内容解析为NSTextStorage
实例。然后,相应的NSLayoutmanager
和NSTextContianer
配置了文本存储。
最后,TextView
实例由文本容器组成。
let textView = UITextViewFixed(frame: frame, textContainer: container)
问题是,文本视图不允许切换文本容器。因此,需要从超级视图中删除文本视图,使用新文本容器重新分配,并在每次重用父单元格时添加回单元格。它会使滚动不是很顺利。
在文本容器中尝试了replaceLayoutManager
,但没有工作。
我想知道在我的案例中是否有办法重用文本视图?
答案 0 :(得分:0)
事实证明,无法以我的使用方式重复使用文本视图。
作为一种解决方法,每次内容更改时,我都放弃从文本容器创建UITextView。现在,像其他所有子视图一样,将使用该单元格创建文本视图。现在,更改from ao in _db.AvailableOptions
where ao.recordId == "TheCurrentRecord" && ao.SelectedOptions.OptionId == 1
select new
MyPoxo {ao.SelectedOptions.Value ?? 0};
就足够我使用了。