JQCollectionViewAlignLayout
基于流布局的自定义布局对象,支持设置集合视图元素的水平和垂直对齐以及从右到左(RTL)方向。
(适用于 UICollectionView
和 NSCollectionView
)
示例
要运行示例项目,请克隆仓库,然后首先从 Examples 目录运行 pod install
iOS
macOS
tvOS
对齐和方向
垂直 | 示例图像 |
---|---|
JQCollectionViewItemsVerticalAlignmentCenter(默认) | ![]() |
JQCollectionViewItemsVerticalAlignmentTop | ![]() |
JQCollectionViewItemsVerticalAlignmentBottom | ![]() |
方向 | 示例图像 |
---|---|
JQCollectionViewItemsDirectionLTR(默认) | ![]() |
JQCollectionViewItemsDirectionRTL | ![]() |
要求
iOS 6.0+
macOS 10.11+
tvOS 9.0+
安装
JQCollectionViewAlignLayout可从CocoaPods获取。要安装它,只需将以下行添加到您的Podfile即可
pod 'JQCollectionViewAlignLayout'
使用方法
- 通过
JQCollectionViewAlignLayout
初始化collectionView
- 通过代码
// UICollectionView
JQCollectionViewAlignLayout *layout = [[JQCollectionViewAlignLayout alloc] init];
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
// NSCollectionView
JQCollectionViewAlignLayout *layout = [[JQCollectionViewAlignLayout alloc] init];
NSCollectionView *collectionView = ...;
collectionView.layout = layout;
- 或在Interface Builder中设置
- 设置对齐和方向
- 属性(适用于所有分区)
layout.itemsHorizontalAlignment = JQCollectionViewItemsHorizontalAlignmentLeft;
layout.itemsVerticalAlignment = JQCollectionViewItemsVerticalAlignmentCenter;
layout.itemsDirection = JQCollectionViewItemsDirectionLTR;
- 协议(适用于每个分区)
// 1. conforms to protocol JQCollectionViewAlignLayoutDelegate
@interface JQViewController () < UICollectionViewDataSource, JQCollectionViewAlignLayoutDelegate>
@end
@implementation JQViewController
// 2. implement the protocol method
- (JQCollectionViewItemsHorizontalAlignment)collectionView:(UICollectionView *)collectionView layout:(JQCollectionViewAlignLayout *)layout itemsHorizontalAlignmentInSection:(NSInteger)section {
// return the JQCollectionViewItemsHorizontalAlignment in section.
}
- (JQCollectionViewItemsVerticalAlignment)collectionView:(UICollectionView *)collectionView layout:(JQCollectionViewAlignLayout *)layout itemsVerticalAlignmentInSection:(NSInteger)section {
// return the JQCollectionViewItemsVerticalAlignment in section.
}
- (JQCollectionViewItemsDirection)collectionView:(UICollectionView *)collectionView layout:(JQCollectionViewAlignLayout *)layout itemsDirectionInSection:(NSInteger)section {
// return the JQCollectionViewItemsDirection in section.
}
@end
其他与UICollectionViewFlowLayout/NSCollectionViewFlowLayout
相同。
作者
coder-zjq, [email protected]
许可证
JQCollectionViewAlignLayout 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。