2016-08-15 3 views
0

Мне нужно иметь разные полноэкранные представления в моем приложении. Очень похоже на то, как работает snapchat. Представления должны иметь возможность общаться друг с другом.UICollectionView vs UIPageViewController

Мой вопрос: Должен ли я использовать UICollectionView с такими же размерами, как на экране, или использовать UIPageViewController?

Пожалуйста, предоставьте некоторую справочную информацию, чтобы поддержать ваше мнение!

+0

Какое содержание у вас есть на этих «экранах»? Если есть аналогичные представления, используйте представление коллекции, если разные контроллеры - контроллер просмотра страницы –

ответ

-1

UIPageViewController использует различные контроллеры представления и загружает несколько контроллеров, поэтому obvisioly занимает больше памяти по сравнению с UICollectionView. Таким образом, если ваша требуемая задача меньше вычислений или сделать шаг, то рекомендуется использовать UICollectionView, другим предпочтительным вариантом является пользователь UIPageController.

1

Я думаю, что оба имеют довольно разные цели. UICollectionView отлично подходит для создания мозаики представлений (например, например, для галереи изображений), тогда как UIPageViewController похож на перелистывающие страницы книги. Последнее похоже на то, что вам нужно, но UIPVC, похоже, не предлагает много настроек/настроек, например, пользовательских переходов. В этом случае вы можете начать с UIScrollView с помощью пейджинга, чтобы воссоздать нечто подобное, но с большим потенциалом. Вот example.

0

Контроллер просмотра страницы позволяет пользователю перемещаться между страницами , где каждая страница управляется собственным объектом контроллера вида.

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPageViewControllerClassReferenceClassRef/

Так что если вы планируете стащить из одного ViewController к другому, пойти на PageViewController. Если вы планируете иметь только один ViewController, который имеет дело со списком полноэкранного изображения или так, перейдите к контроллеру вида с помощью collectionView или, возможно, к вашему собственному swipeView.

0

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

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