Можем ли мы сделать так, чтобы высота UIView всегда изменялась с высотой UIStackView внутри? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть представление контента (это представление контента я буду использовать в качестве подкласса контента UICollectionViewCell позже), которое имеет UIStackView внутри. Внутри этого стека я добавляю несколько меток, вид. И я рассчитываю некоторые условия, чтобы убедиться, что когда данные метки пусты, эта метка будет скрыта, и представление стека автоматически изменит высоту, и наоборот, если у них есть данные, я их покажу, а представление стека обновит высоту. снова.

Теперь я хочу знать, как заставить высоту представления контента всегда следовать высоте UIStackView при ее изменении.

enter image description here

1 Ответ

0 голосов
/ 03 марта 2020

Если вы уже создали свой UIStackView, чтобы иметь динамическую c высоту после его дочерних элементов, тогда все, что вам нужно, это добавить ограничения между UIStackView и вашим представлением содержимого, и он также автоматически изменит свой размер.

Теперь , если вы добавляете это представление содержимого в UICollectionViewCell, то вы должны обязательно вызывать UICollectionView.reloadData () каждый раз, когда вы изменяете содержимое вашего UIStackView. Таким образом, представление коллекции пересчитает размер и снова отобразит ячейку. У вас также есть возможность перезагрузить одну ячейку в представлении коллекции, если у вас есть способ определить ее indexPath.

Примечание: позаботьтесь о CollectionViewFlowLayout и размере, который он определяет для ячейки. Рекомендуется сообщить макету потока предполагаемую высоту вашей ячейки через layout.estimatedHeight.

...