Я добавил представление в заголовок tableView, состоящий из imageView и textView. Представление изображения выровнено по левому краю в верхнем углу, а текст просматривается над изображением в правой части экрана, как показано ниже.Как правильно изменить текстовое представление с исключениями Патчи внутри заголовка таблицы
TextView может иметь динамический контент и имеет путь исключения устанавливается следующим образом:
let imagePath = UIBezierPath(rect: imageView.frame)
self.textView.textContainer.exclusionPaths = [imagePath]
Я отключил прокрутки для TextView и установили следующие ограничения внутри той точки зрения заголовка:
TextView: слева - 8px, справа - 8px, сверху - 0px, снизу - 8px
ImageView: левый - 8px, ширина - 100px, высота 100px, верхняя - 8px, снизу - больше или равно 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 имеет меньше текста, чем высота изображения, размер представления увеличивается.
примере достаточно текста, чтобы передать ImageView:
Кто-нибудь знает, почему это происходит?
Ваши ограничения и ограничения связаны неправильно. –