2015-07-20 3 views
0

Я хочу добавить subview в UICollectionView, чтобы сделать левую панель, которая прокручивается с помощью коллекции.Добавление subview в UICollectionView - отключает прокрутку

Использование

[self.collectionView addSubview:myView] 

все штрихи становятся инвалидами, и я больше не могу прокрутить вид. Я читал, что добавление subview в collectionView, как это, является плохой практикой .. это правда? Почему это отключить штрихи достичь события CollectionView когда

userInteractionEnabled = NO 

Я пытаюсь сделать это: imgur link путем захвата позиции кадра первой ячейки в каждой секции, и добавив точку с в MyView с тем же y.

Спасибо за помощь!

+0

Вы используете UICollectionViewController? – Mukesh

+0

@muku no, изготовленный под заказ контроллер. – brdu

+0

'[self.view insertSubview: myView aboveSubview: self.collectionView]', попробовал ли вы это – Mukesh

ответ

0

Могу ли я узнать цель этого прокрутки? Потому что, если вы ищете подзаголовок, который отображает только ярлык или изображение и т. Д., Вы можете использовать пользовательскую ячейку коллекции, если я не ошибаюсь ... Надеюсь, это поможет :) :)

0

Добавление подзонов с использованием addSubview: метод UICollectionView очень плохая практика. Это может вызвать множество различных проблем в обычном поведении CollectionView. Он может препятствовать просмотрам под ним, захватывать события касания, не позволяя им достичь фактического scrollView внутри CollectionView и т. Д. Подразделы, добавленные с помощью этого метода, также не будут прокручиваться, как это делают другие элементы в CollectionView.

Правильный способ сделать то, что вы хотите, это реализовать новый тип UICollectionViewCell для точек и вычислить их местоположение в методах prepareForLayout10 и layoutAttributesForElementsInRect:. В основном вы будете иметь одну или две ячейки в каждой строке. Какие из них будут иметь два ряда, будут определены вами в методах, о которых я упоминал.

Фактически, документы Apple имеют прекрасный пример, который еще более сложный, чем то, что вы пытаетесь достичь. Вы должны проверить это с this link.

Смежные вопросы