To run the example project, clone the repo, and run pod install
from the Example directory first.
Vertical | Demo Image |
---|---|
JQCollectionViewItemsVerticalAlignmentCenter(default) | ![]() |
JQCollectionViewItemsVerticalAlignmentTop | ![]() |
JQCollectionViewItemsVerticalAlignmentBottom | ![]() |
Direction | Demo Image |
---|---|
JQCollectionViewItemsDirectionLTR(default) | ![]() |
JQCollectionViewItemsDirectionRTL | ![]() |
iOS 6.0 +
JQCollectionViewAlignLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'JQCollectionViewAlignLayout'
Init the collectionView with JQCollectionViewAlignLayout
:
- Code:
JQCollectionViewAlignLayout *layout = [[JQCollectionViewAlignLayout alloc] init];
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
- Interface Builder:
Set the alignment and direction:
- Property:
layout.itemsHorizontalAlignment = JQCollectionViewItemsHorizontalAlignmentLeft;
layout.itemsVerticalAlignment = JQCollectionViewItemsVerticalAlignmentCenter;
layout.itemsDirection = JQCollectionViewItemsDirectionLTR;
- Protocol:
// (if you want set different alignment and direction each section, you can do like this.)
// 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
The rest is same as UICollectionViewFlowLayout
.
coder-zjq, zjq_joker@163.com
JQCollectionViewAlignLayout is available under the MIT license. See the LICENSE file for more info.