Изменение размера .xib (ячейка) по вертикали в Swift 4 - PullRequest
0 голосов
/ 07 ноября 2018

Я создал .xib (ячейку), которая отображает изображения магазинов и информацию о них.

enter image description here

Серый - это часть изображения, размер которой не изменен и представляет собой UICollectionView.

Все магазины имеют разные размеры, но в UICollectionView (который отображает изображения) они отображаются как Scale To Fill независимо от размера.

Мне бы хотелось, чтобы вертикальный размер .xib (UICollectionView) увеличивался и уменьшался, чтобы соответствовать вертикальному размеру изображения. Что мне делать?

1 Ответ

0 голосов
/ 07 ноября 2018

Если вы имеете дело с UICollectionViewCell, вам не нужно напрямую изменять / обновлять высоту или размер xib. Более важно то, что вам нужно, это CollectionViewFlowLayout методы.

Я думаю, что вам нужно

1. In your xib, you should properly layout your items with `Autolayout`. 
2. Make sure that you set the `collectionview.delegate = self` somewhere based on your need
3. Add `UICollectionViewDelegateFlowLayout` methods and return proper values.


 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: `width`, height: `height`)
}

Приведенного выше метода делегата должно быть достаточно, но вы можете использовать других в зависимости от ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...