ios – 如何在UIScrollView中实现不可滚动的UICollectionView?

前端之家收集整理的这篇文章主要介绍了ios – 如何在UIScrollView中实现不可滚动的UICollectionView?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简而言之,我所需的屏幕布局基本上是用户配置文件(iOS 7 Xcode 5).我使用UIScrollView作为顶级视图.原因是我想要滚动所有子视图(用户信息视图 – 带有配置文件图像的视图和您在屏幕上看到的一些按钮,以及带有黑色背景的照片集合视图).

黑色背景区域将显示用户照片.我想知道我是否可以在这里使用UICollectionView,或者有更好的方法来实现它.在这种情况下,UICollectionView不能自己滚动,它只显示所有单元格,而滚动工作由最外层的UIScrollView处理.

我读了以下帖子:

UICollectionView inside of UIScrollView

UICollectionView in UIScrollView -> Scroll Order

iOS 7 Collection View inside Scroll View

有些人说UIScrollView中不可能(或者至少很奇怪)实现UICollectionView,因为UIScrollView是UICollectionView的超类,会导致意外行为.有人说它应该以另一种方式实施(但我没有看到明确的建议).

解决方法

是的,您可以在UIScrollView中放置UICollectionView. iOS has fully supported nested scroll views since iOS 3.0,UICollectionView是UIScrollView的子类.例如,查看iOS设备上的App Store应用程序.屏幕垂直滚动 – 它是UIScrollView或UITableView(它本身是UIScrollView的子类).每行图标都水平滚动 – 每行都是一个UICollectionView.

但是,不清楚为什么需要在滚动视图中放置集合视图.听起来你只想让照片视图滚动,所以只需将照片视图设为集合视图即可.为什么需要将集合视图放在滚动视图中?

UPDATE

只需使用集合视图.将第0部分的标题设置为配置文件信息视图.您不需要滚动视图.

如果将所有照片放在一个部分中,则可以在故事板中设置标题而不使用代码.如果使用多个部分,则需要在您的委托中实现collectionView:layout:referenceSizeForHeaderInSection:并在您的数据源中使用collectionView:viewForSupplementaryElementOfKind:atIndexPath:.

猜你在找的iOS相关文章