使用 UICollectionView 的建议
Posted
技术标签:
【中文标题】使用 UICollectionView 的建议【英文标题】:Suggestion on using UICollectionView 【发布时间】:2014-07-16 19:30:52 【问题描述】:我有一组按名称组织的图片,如下所示,这些图片指示照片应在视图中的位置:
Image_PPRRCC.png
PP:照片页码
RR:照片行
CC:照片列
该应用程序具有以下三种视图。
1- 查看整个页面。水平滚动以查看下一页。
2- 单个图像视图。当用户在整个页面视图中双击图片时。水平滚动到下一张照片。
3- 查看一排照片。当设备处于横向模式时。垂直滚动查看下一行,水平滚动查看下一页。
我尝试使用UICollectionViewController
并将图像放入按名称排序的动态大小的单元格中。问题在于水平滚动。选择水平滚动时,项目将垂直填充UICollectionView
和排序的图像名称和页面的行和列中的每个照片的位置搞砸了。
然后尝试对每个页面使用UIPageViewController
和UIView
,在每个页面中使用UICollectionView
来显示相应页面的图像。但我无法为其设置视图。
那么有什么建议如何设置视图?哪种方法更适合应用所需的界面?一种UICollectionViewController
方法还是UIPageViewController
方法?或者可能是更好的方法?
【问题讨论】:
我喜欢你的UIDoodleCollectionViewController
=]
【参考方案1】:
使用@property(非原子)UICollectionViewScrollDirection 滚动方向;
网格布局仅沿一个轴水平或垂直滚动。对于非滚动轴,该维度中集合视图的宽度用作内容的起始宽度。
在https://developer.apple.com/library/ios/documentation/uikit/reference/UICollectionViewFlowLayout_class/Reference/Reference.html#//apple_ref/doc/uid/TP40012182-CH1-DontLinkElementID_4中阅读更多关于 UICollectionViewFlowLayout 的信息
【讨论】:
所以看来我必须坚持使用 UIPageViewController 方法并在 UICollectionView 中垂直滚动并在 UIPageView 中水平滚动以进行行视图。以上是关于使用 UICollectionView 的建议的主要内容,如果未能解决你的问题,请参考以下文章
RxSwift之UI控件UICollectionView扩展的使用
Storyboards + UIcollectionView:UI 在 iOS 模拟器和设备上的显示方式不同