JQCollectionViewAlignLayout 0.2.2

JQCollectionViewAlignLayout 0.2.2

coder zjq 维护。




  • coder-zjq

JQCollectionViewAlignLayout

Version License Platform

基于流布局的自定义布局对象,支持设置集合视图元素的水平和垂直对齐以及从右到左(RTL)方向。

(适用于 UICollectionViewNSCollectionView)

示例

要运行示例项目,请克隆仓库,然后首先从 Examples 目录运行 pod install

iOS

macOS

tvOS

对齐和方向

水平 示例图像
JQCollectionViewItemsHorizontalAlignmentFlow(默认)
JQCollectionViewItemsHorizontalAlignmentLeft
JQCollectionViewItemsHorizontalAlignmentCenter
JQCollectionViewItemsHorizontalAlignmentRight
JQCollectionViewItemsHorizontalAlignmentFlowFilled
垂直 示例图像
JQCollectionViewItemsVerticalAlignmentCenter(默认)
JQCollectionViewItemsVerticalAlignmentTop
JQCollectionViewItemsVerticalAlignmentBottom
方向 示例图像
JQCollectionViewItemsDirectionLTR(默认)
JQCollectionViewItemsDirectionRTL

要求

iOS 6.0+

macOS 10.11+

tvOS 9.0+

安装

JQCollectionViewAlignLayout可从CocoaPods获取。要安装它,只需将以下行添加到您的Podfile即可

pod 'JQCollectionViewAlignLayout'

使用方法

  1. 通过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中设置

  1. 设置对齐和方向
  • 属性(适用于所有分区)
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 文件。