Ответ 1
Вот два хороших примера того, как реализовать пользовательские макеты.
В настоящий момент я пытаюсь создать UICollectionView
, который должен отображать простой excel-like-spreadsheet
, с rows
и columns
. Это должно быть легкой задачей с UICollectionViews
, я полагал. И я действительно хотел бы выполнить реализацию в UICollectionView
, а не в любом grid framework
.
Но на данный момент я немного висит. Я понял, что я, к сожалению, не могу использовать UICollectionViewDelegateFlowLayout
, потому что это поддерживает только scrolling
в или horizontally
или vertically
направлении. Но мне нужно scrolling
в обоих направлениях.
Поэтому Я должен использовать UICollectionViewLayout
, но для этого я не нашел хороших примеров, как его использовать. Кто-нибудь из вас пример, как подклассировать UICollectionViewLayout
для поддержки rows
и columns
?
Спасибо заранее.
Вот два хороших примера того, как реализовать пользовательские макеты.
UICollectionViewFlowLayout
определенно не может - "Макет сетки прокручивается вдоль одной оси только горизонтально или вертикально".
Это подкласс UICollectionViewLayout
. Похоже, вы могли создать свой собственный подкласс UICollectionViewLayout
и прокручивать в обоих направлениях.
Что вы подразумеваете под страницей, вы хотите сделать подкачку, как scrollview
? Мне интересно использовать UICollectionViewFlowLayout в UICollectionView
для вертикальной прокрутки, внутри UIScrollView
для горизонтальной прокрутки.
Я добавил пример использования настраиваемого макета для реализации простой горизонтальной и вертикальной сетки прокрутки здесь https://github.com/neildavis/MyCollectionView
В моем примере используется PSTCollectionView, так как мне нужна поддержка iOS 5, но это API, совместимый со встроенным UICollectionView. (На самом деле он использует классы совместимости (PSUICollectionView и т.д.), Предоставляемые для обеспечения использования UICollectionView на iOS 6 и возвращается к использованию PSTCollectionView и т.д. На iOS 5.) Просто удалите префикс "PS" на них, чтобы вернуться к реализации iOS 6 только в UIKit,
Ответ, который не требует анализа трех примеров проектов
В подклассе UICollectionViewLayout:
-(CGSize)[collectionViewContentSize]
и верните размер, размер которого больше по высоте и ширине, чем размер UICollectionView
. (Доступно через: self.collectionView.frame.size
)UICollectionViewCell
в пределах размера содержимого, а не размера кадра.Примечание. Убедитесь, что прокрутка включена в UICollectionView. (По умолчанию он включен.)
Мне нужно было что-то подобное. Я создал Custom CollectionViewLayout.
https://github.com/akashraje/BidirectionalCollectionViewLayout