Задать вопрос
@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
  • Вопрос задан
  • 218 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • Нетология
    iOS-разработчик с нуля
    11 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Решения вопроса 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) ; когда остановится - посмотреть в списке переменных чему равно значение переменной

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

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

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