Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionView与UIPageViewController_Ios_Objective C_Uicollectionview_Uipageviewcontroller - Fatal编程技术网

Ios UICollectionView与UIPageViewController

Ios UICollectionView与UIPageViewController,ios,objective-c,uicollectionview,uipageviewcontroller,Ios,Objective C,Uicollectionview,Uipageviewcontroller,我需要在我的应用程序中有不同的全屏视图。与snapchat的工作原理非常相似。视图应该能够在彼此之间进行通信 我的问题是:我应该使用单元格大小与屏幕相同的UICollectionView,还是应该使用UIPageViewController? 请提供一些背景信息来支持你的观点 我认为两者的目的完全不同。 UICollectionView非常适合构建视图马赛克(比如图像库),而UIPageViewController类似于翻页的书籍。后者似乎是您所需要的,但UIPVC似乎没有提供许多调整/自定义,

我需要在我的应用程序中有不同的全屏视图。与snapchat的工作原理非常相似。视图应该能够在彼此之间进行通信

我的问题是:我应该使用单元格大小与屏幕相同的UICollectionView,还是应该使用UIPageViewController?


请提供一些背景信息来支持你的观点

我认为两者的目的完全不同。 UICollectionView非常适合构建视图马赛克(比如图像库),而UIPageViewController类似于翻页的书籍。后者似乎是您所需要的,但UIPVC似乎没有提供许多调整/自定义,例如自定义转换。在这种情况下,您可能希望从启用分页的UIScrollView开始,以重新创建类似但更具潜力的内容。这是一个例子

页面视图控制器允许用户在页面之间导航 内容,其中每个页面由其自己的视图控制器对象管理


因此,如果您计划从一个ViewController滑动到另一个,请选择PageViewController。如果您计划只使用一个ViewController来处理全屏图像列表,请选择具有collectionView的视图控制器,或者您自己的swipeView。

UIPageViewController使用不同的视图控制器并加载多个控制器,以便与UICollectionView相比,客观上占用更多内存。因此,如果您需要的任务是较少的计算或步骤,那么建议使用UICollectionView,其他情况下首选的方法是使用UIPageController。

个人意见:对于这种特定情况,我会使用页面视图控制器。集合视图有任何你必须考虑的事情,比如当设备旋转时,你必须重新计算你在哪里,你必须显示哪个单元格,请求滚动到当前的单元格,如果你正在显示一个视频或者使用相机,你可能必须完美地控制它,否则问题就会出现。
但是,考虑一下可能会添加到应用程序中的新功能,如果您认为屏幕上可能会显示2个以上的项目,那么您最好选择一个集合视图。

此“屏幕”中有哪些内容?如果有相似的视图,则使用集合视图,如果有不同的控制器-页面视图控制器