Я пытаюсь динамически центрировать содержимое UICollectionView, однако ни одно из существующих решений не учитывает тот факт, что может быть более одной ячейки в строке.Как вертикально центрировать содержимое UICollectionView
Я пробовал это center custom title in UINavigationBar?, а также оба решения здесь: UICollectionView vertically Centred, безрезультатно.
Я очень удивлен, что iOS не делает этого по умолчанию и даже больше, что невозможно получить количество отображаемых строк (что также решило бы мою проблему). Кроме того, я не могу получить размер контента (а не просто размер кадра), который также помог бы мне достичь желаемого эффекта.
У меня есть это:
--------
|X X X X |
|X X X X |
| |
| |
--------
Но я хочу это:
--------
| |
|X X X X |
|X X X X |
| |
--------
Любая помощь будет принята с благодарностью,
Большое спасибо.
Я не понимаю вашу проблему. И что вы имеете в виду, как «получить» количество строк? Вы сообщаете коллекции, количество элементов, их размер и т. Д. – Darko
@ Darko: Чтобы центрировать группу ячеек, мне нужно знать, сколько строк отображается в виде коллекции (что отличается от количество элементов в виде нескольких элементов может отображаться в строке, в зависимости от размера экрана). Как только у меня будет количество ячеек, я могу установить верхнюю вставку (высота кадра просмотра - общая высота, занимаемая ячейками)/2.Я добавил визуальное представление к моему вопросу. –
Что касается вашего визуального представления - если вы хотите версию 2, почему вы делаете просмотр коллекции таким большим? Просто сделайте его меньше и центрируйте его на экране с автоматической компоновкой. Помимо этого (как уже ответил jorf) вы можете установить секционные вставки. Но, на мой взгляд, вставки полезны, если вы хотите изменить их во время выполнения. Если макет исправлен, просто уменьшите представление коллекции. – Darko