Как разобраться с макетом порционного водопада UICollecionView - PullRequest
0 голосов
/ 27 июня 2018

enter image description here

Для этого ViewController я планирую разделить его на две части.

Одна часть - это UITableView сверху, другая - UICollectionView для WaterFall View снизу. Сделайте так, чтобы их высота была равна их contentSize'height. Добавьте их в UIScrollView и пусть высота scrollView равна (UITableView's height + UICollectionView's высота).

Это моя коллекцияПосмотреть часть:

enter image description here

Я использую пользовательское отображение потока UICollecitonView.

Однако и для UITableView, и для UICollectionView они не использовали ячейку повторно, когда ее высота = высота contentSize.

Так что я должен изменить свой план.

Другая идея - использовать UICollectionView для всех ViewController . Но только для UICollectionView a UICollectionViewDelegateFlowLayout.

Сложность в том, что только нижняя часть представляет собой макет водопада, а не вся страница представляет собой макет водопада.

Как я могу это сделать?

Большое спасибо, если кто-нибудь может дать идею.

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Вы можете создать ячейку, содержащую UICollectionView с WaterFallLayout, и высота этой ячейки будет автоматически увеличена.

0 голосов
/ 27 июня 2018

Чтобы создать любой пользовательский макет, вы должны создать свой собственный макет. Что я хочу сказать, так это то, что независимо от того, имеет ли вид коллекции наполовину дизайн водопада, а затем поток или любой другой макет, который вам требуется, вы должны создать собственный макет вида коллекции, который будет вести себя в соответствии с данными. Высота, рисунок и все, что вы хотите. Здесь - хороший учебник о том, как этого добиться.

P.S. Я знаю, что предоставление ссылки не принимается в stackoverflow, но код и пояснения к пользовательской компоновке настолько велики, что хорошо объясняется здесь.

Надеюсь, это поможет

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