UITextView не определяет правильную высоту с помощью exclusionPaths
В моем 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 пересчитать после добавления пути исключения?