测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可 | MIT |
发布时间最近发布 | 2014年12月 |
由 Liam Nichols 维护。
LNCollectionViewPagedLayout 类组织了集合视图中项目的布局,以确保在将滚动视图配置为分页时不会截断。这是通过在无法在不截断内容的情况下完全显示上一个屏幕上的项目时,将其放置在另一个页面上来实现的。
分页布局通过配置一些基本属性或实现 LNCollectionViewDelegatePagedLayout 协议在您集合视图的代理实例上,来确定项目和工作区的尺寸。使用 LNCollectionViewDelegatePagedLayout 协议,您可以动态地调整特定项目的尺寸,而不是为每个项目应用相同的值。
分页布局使用一个方向的固定距离和另一个方向的可滚动距离来安排其内容。例如,在垂直滚动的表中,内容的宽度被限制为相应集合视口的宽度,而内容的高度会动态调整以匹配数据源所需的页数。默认情况下,布局配置为垂直滚动,但您可以使用 scrollDirection 属性配置滚动方向。
流布局中的每个部分都可以有自己的自定义工作区。为了配置页面的工作区,您必须将工作区的尺寸配置为非 CGSizeZero。您可以这样做,通过实现适当的委托方法或将适当的值分配给 footerSize 属性。如果工作区尺寸为 CGSizeZero,则相应的视图不会被添加到集合视图中。
可以通过分配不同的值来调整页面上的内容位置,这些值是 pageContentInset 和 minimumRowSpacing 属性。
创建具有基本配置的 LNCollectionViewPagedLayout 实例
LNCollectionViewPagedLayout *layout = [[LNCollectionViewPagedLayout alloc] init];
layout.pageContentInset = UIEdgeInsetsMake(10, 10, 10, 10);
layout.startAllSectionsOnNewPage = YES;
layout.minimumRowSpacing = 10.0f;
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
self.collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
请参阅演示应用程序以获取更高级的用法。