2014-02-03 3 views
1

Как я могу складывать ячейки (в UICollectionView) друг над другом? Довольно хорошо, и мне было интересно, могу ли я каким-то образом манипулировать свойством zIndex, чтобы получить аналогичный эффект в навигации UICollectionView.UICollectionView Stacking

Или я трачу свое время на UICollectionViews и должен изучать изменение моего подхода с помощью, возможно, контроллера контейнера?

ответ

2

Для этого моя команда добавила базовую полноэкранную горизонтальную раскладку потолка в uicollectionview. Затем мы добавили распознаватель жестов и отключили прокрутку на контроллере collectionView. Как только начнется жест панорамы, мы экранируем ячейку и помещаем изображение через collectionView. Как только это будет сделано, мы вручную изменим страницу коллекцииView на следующую страницу за снимком экрана. Затем мы анималируем uiimage (экранную крышку предыдущей страницы) вдоль пути жестов. Если он прошел порог, мы передаем анимацию и удалим изображение, и вы получите полный эффект просматриваемой ячейки collectionView.

К сожалению, проверка порога немного утомительна, потому что вы должны вернуться. Также анимация для возвращения клетки назад немного причудлива. С помощью этого метода, если вы не добавите его в качестве специального случая, тогда он выглядит, что ячейка всегда позади. Поскольку мы хотим, чтобы это выглядело как стек, мы убедились, что это похоже на то, что вы перетаскиваете предыдущую ячейку с экрана на верхнюю часть стека. Это делается путем хранения коллекции (NSArray) скриншотов сот, которые соответствуют источнику данных, поэтому в основном мы можем просто захватить изображение на основе indexPath.row. Сделайте распознаватель жестов, чтобы вернуть его в стек. Если он проходит порог, мы передаем анимацию и в конце изменим текущую ячейку представления коллекции и удалим скриншот. Таким образом, он чувствует себя бесшовно.

+0

Мы разместили наше решение в публичном репо, проверьте его здесь -> https://github.com/KnotchLabs/Stacks – liquidpenguins