Форум программистов, компьютерный форум CyberForum.ru

UICollectionViewLayout vs UICollectionViewFlowLayout - Программирование iOS/iPhone

Восстановить пароль Регистрация
 
someMan
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 27
17.01.2015, 18:59     UICollectionViewLayout vs UICollectionViewFlowLayout #1
Привет всем!

Наконец-то у меня дошли руки попробовать UICollectionView, и после первых проб решил разобраться с сутью такого ключевого момента, как layout.
Читаю доки, но не могу окончательно для себя решить, правильно ли я понял суть UICollectionViewLayout и UICollectionViewFlowLayout.
Хотелось бы написать, что я для себя выяснил, а вы меня поправили:

UICollectionViewFlowLayout:
Наследник UICollectionViewLayout, в котором уже реализована внутри вся кухня по формированию layout, и нам при использовании надо просто задать ему все нужные itemSize, spacings, insets.
Используется, если наша планируемая структура UI не особо сложная.
Вот, Apple пишет: "The flow layout implements a line-based breaking layout, which means that the layout object places cells on a linear path and fits as many cells along that line as it can".
Как я понял, если у нас расположение ячеек не имеет какой-то магической логики, и они просто должны последовательно, линейно прокручиваться на экране, то UICollectionViewFlowLayout is our friend.

UICollectionViewLayout:
Абстрактный класс, от которого надо наследоваться и реализовывать все нужные методы.
Надо использовать, если у нас хитрый UI, например, с несимметричным расположением ячеек.

Если я все правильно понял, то тогда, почему нельзя везде использовать UICollectionViewFlowLayout, а при надобности просто переопределять у него какие-то методы, чтобы кастомизировать формируемый layout?
Или там все сильно связано между собой внутри?

Подскажите студенту, в каких случаях четко ясно, что можно юзать UICollectionViewFlowLayout, а когда - наследоваться от UICollectionViewLayout и пилить все руками?
Спасибо много раз))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru