Задать вопрос
@FlooDwm

Почему неправильно отображается размер items в collectionview когда я меняю с портретного на альбомный вид?

Есть табБар который выполнен виде collectionview с 4 items размер итемов определяется:

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

Но когда я меня вид они меняются в размере т.е. насколько я понимаю не пересчитывается размер Как это исправить

bcf4917c67ef4fb696ded2d040949a02.png3407bd8a9859467e94d173e9373011c3.png
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@FlooDwm Автор вопроса
override func viewWillLayoutSubviews() {
tabBar.collectionTab.collectionViewLayout.invalidateLayout()
}
Помогла такая вот штуковина
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
briahas
@briahas
ObjC, Swift, Python
Наверное переменная frame не обновила свои данные. Что дебагер говорит?

---
как проверить? - поставить брейкпоинт на строчку return CGSize(width: frame.width/4, height: frame.height) ; когда остановится - посмотреть в списке переменных чему равно значение переменной

как обновить? Метод отслеживания вращения экрана есть такой? - Давай я поищу вместо тебя
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы