我有一个包含 UITextView 和 UIImageView 的 UITableViewCell。文本视图已禁用滚动。UITableViewCell 确实使用自动布局来计算其高度以适应内容。
如果文本多于屏幕截图中的文本,我希望文本围绕图像流动并使用其下方的空间。因此我在文本视图上使用排除路径。排除路径设置正确,文本在图像周围流动。
必须在自动布局计算完框架后设置排除路径。由于排除路径阻塞了文本视图上的一些视图空间,因此包含的文本不再适合为文本视图计算的高度自动布局。
我怎样才能使它与自动布局一起工作?
设置排除路径后,我尝试在文本视图上设置高度约束:
let size = textView.sizeThatFits(CGSize(width: textView.frame.size.width, height: CGFloat(MAXFLOAT)))
textView.heightAnchor.constraint(equalToConstant: size.height).isActive = true
这无济于事。我需要调用layoutSubviews()
UITableViewCell 来强制它重新计算它的高度。但是,当我将排除路径设置为viewDidLayoutSubviews()
.