我在 tableView 标题中添加了一个视图,其中包含一个 imageView 和一个 textView。图像视图在上角左对齐,文本视图在图像视图上延伸到屏幕右侧,如下所示。
textView 可以具有动态内容并具有如下设置的排除路径:
let imagePath = UIBezierPath(rect: imageView.frame)
self.textView.textContainer.exclusionPaths = [imagePath]
我禁用了文本视图的滚动,并在标题视图中设置了以下约束:
TextView:左 - 8px,右 - 8px,顶部 - 0px,底部 - 8px
ImageView:left - 8px,width - 100px,height 100px,top - 8px,bottom - 大于或等于8px
在我的 textView 填充了动态文本后,我添加了此代码:
if let headerView = self.tableView.tableHeaderView {
let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
var headerFrame = headerView.frame
if height != headerFrame.size.height {
headerFrame.size.height = height
headerView.frame = headerFrame
self.tableView.tableHeaderView = headerView
}
}
调整标题的大小。但是,当 textView 的文本少于图像的高度时,视图的大小会增加。
有谁知道为什么会这样?