当DTAttributedTextView框架更改时,视图内的内容(文本)不会被转发。我在tableView单元格中有文本视图,其高度由布局约束指定,该值在代码中更改。宽度会根据单元格宽度自动更改。
我尝试手动拨打setNeedsLayout
,layoutIfNeeded
,relayoutText
,setNeedsDisplay
。似乎没有任何帮助。为什么内容布局会以这种方式锁定?
这似乎适用于高度,但不适用于宽度:
override func layoutSubviews() {
super.layoutSubviews()
comment.attributedTextContentView.layoutFrame = DTCoreTextLayoutFrame(
frame: comment.frame,
layouter: comment.attributedTextContentView.layouter)
comment.relayoutText()
}
答案 0 :(得分:0)
在调用relayoutText
之前,必须将layouter设置为nilcomment.attributedTextContentView.layoutFrame = DTCoreTextLayoutFrame(
frame: comment.frame,
layouter: comment.attributedTextContentView.layouter)
//gets rid of cached layouter
comment.layouter = nil
comment.relayoutText()