В моем UITableViewCell я устанавливаю путь исключения, например, так:
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let choiceCell = cell as! ItemChoiceTableViewCell
guard choiceCell.textView.textContainer.exclusionPaths.count == 0 else {
return
}
var frame = choiceCell.displayImageView.bounds
frame.size.height -= choiceCell.textView.frame.origin.y - choiceCell.displayImageView.frame.origin.y
choiceCell.textView.textContainer.exclusionPaths = [UIBezierPath(rect: frame)]
choiceCell.layoutSubviews()
}
Высота ячейки табличного представления обычно слишком короткая, и я считаю, что происходит то, что необходиморазмер не перерассчитывается должным образом после добавления пути исключения. Я пробовал разные вещи вместо layoutSubviews
, например setNeedsLayout
и setNeedsDisplay
, но я не могу заставить что-либо из них работать должным образом.
Как заставить размер UITextView пересчитать после добавления пути исключения?