UICollectionViewCells не ограничивается до следующего раунда рисования - PullRequest
0 голосов
/ 31 октября 2019

Как я могу заставить свои UICollectionViewCells немедленно применять их ограничения?

Образцы журналов: МОЙ кадр: (7.5, 57.5, 150.0, 175.0)

Контейнерный кадр: (10.0, 10.0, 154.0, 154.0)

Мой фрейм - это фрейм collectionViewCell

Контейнерный фрейм - это фрейм вида, ограниченный аспектом 1: 1, а затем вставка 10 сверху, слева иправильно.

Эти журналы распечатываются в override func layoutSubviews() после того, как я позвоню super.layoutSubviews(), и, как вы можете видеть, ограничения не соблюдаются. Как только я reloadData() на collectionView, все в порядке, но в первый раз, когда ячейка показывается, все становится шатко.

154 исходит от создателя интерфейса, это размер, который имеет представление контейнера. 150x175 происходит из collectionViewDelegateFlowLayout.

Я бы поделился кодом, но это 90% создатель интерфейса. Все, что я делаю в коде, это изменение размера с помощью UICollectionViewDelegateFlowLayout, а затем изменение размеров в layoutSubviews ячейки (попытка изменить размеры, чтобы они соответствовали размеру после того, как ячейка изменила размер)

Пожалуйста, помогите! это сводит меня с ума.

1 Ответ

0 голосов
/ 31 октября 2019

после создания ячейки

cell.setNeedsLayout()
cell.layoutIfNeeded()

Я понятия не имею, почему это работает, и layoutSubviews не

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