Итак, в моем табличном представлении отображаются изображения. Каждая ячейка в основном представляет собой изображение, заполняющее все ячейки contentView
. Поскольку изображения имеют разные соотношения сторон, мне нужно, чтобы мои ячейки регулировали свою высоту в зависимости от ширины представления таблицы и соотношения сторон изображения. Я подписался на этот Рэй Вендерлих учебник, но теперь возникает конфликт ограничений. Размер изображения изменяется путем изменения ограничения высоты imageView
s, например. myImageViewHeight.constant = tableView.frame.width / aspectRatio
2016-06-16 13:56:25.823 MyApp[92709:5649464] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x7fbcdaf5c190 V:[UIImageView:0x7fbcdaf5c300(303)]>",
"<NSLayoutConstraint:0x7fbcdaf5b460 V:|-(0)-[UIImageView:0x7fbcdaf5c300] (Names: '|':UITableViewCellContentView:0x7fbcdaf52230 )>",
"<NSLayoutConstraint:0x7fbcdaf5b4b0 V:[UIImageView:0x7fbcdaf5c300]-(0)-| (Names: '|':UITableViewCellContentView:0x7fbcdaf52230 )>",
"<NSLayoutConstraint:0x7fbcdaf5e550 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fbcdaf52230(100)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7fbcdaf5c190 V:[UIImageView:0x7fbcdaf5c300(303)]>
Представление изображения имеет следующие ограничения и имеет ячейки contentView
в качестве суперпредставления.
В классе контроллера табличного представления я использую
self.tableView.estimatedRowHeight = 80
self.tableView.rowHeight = UITableViewAutomaticDimension
Я также пробовал это - тот же результат.
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
Я предполагаю, что мне нужно избавиться от 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fbcdaf52230(100)]>"
, но как? Кроме того, кто-нибудь знает какую-нибудь документацию/учебники о том, как правильно создавать табличные представления с динамическим содержимым, которые не только охватывают наличие множества меток внутри ячейки? Мой код работает просто отлично, если представление изображения заменено меткой...