基于 UICollectionViewFlowLayout 的居左居右居中布局

[復制鏈接]
來自: coder-zjq 分類: iOS精品源碼 上傳時間: 2019-12-25 17:31:37
Tag:

項目介紹:

Version
License
Platform

介紹

基于 UICollectionViewFlowLayout 的對齊布局,使用簡單,支持以下功能:

  • 不同 section 水平方向 items 對齊方式的設置;

  • 不同 section 豎直方向 items 對齊方式的設置;

  • 不同 section items 排布順序的設置。

因為是繼承自 UICollectionViewFlowLayout 所以使用方法跟 UICollectionViewFlowLayout 一致,只需設置對應的屬性或者實現對應協議方法即可,且支持 UICollectionViewFlowLayout 所有特性,如設置 header、footer、section inset 等。

示例

水平Demo
流式
(JQCollectionViewItemsHorizontalAlignmentFlow)
居左
(JQCollectionViewItemsHorizontalAlignmentLeft)
居中
(JQCollectionViewItemsHorizontalAlignmentCenter)
居右
(JQCollectionViewItemsHorizontalAlignmentRight)
豎直Demo
居中
(JQCollectionViewItemsVerticalAlignmentCenter)
頂部對齊
(JQCollectionViewItemsVerticalAlignmentTop)
底部對齊
(JQCollectionViewItemsVerticalAlignmentBottom)
順序Demo
從左到右
(JQCollectionViewItemsDirectionLTR)
從右到左
(JQCollectionViewItemsDirectionRTL)

要求

iOS 6.0+

安裝

JQCollectionViewAlignLayout 可以通過 CocoaPods 安裝,只需在你的 Podfile 加上下面這行:

pod 'JQCollectionViewAlignLayout'

使用

使用 JQCollectionViewAlignLayout 初始化 UICollectionView:

  • 通過代碼:

JQCollectionViewAlignLayout *layout = [[JQCollectionViewAlignLayout alloc] init];
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
  • 或者通過 Interface Builder:

設置對齊方式及排列順序:

  • 通過設置 Property:

layout.itemsHorizontalAlignment = JQCollectionViewItemsHorizontalAlignmentLeft;
layout.itemsVerticalAlignment = JQCollectionViewItemsVerticalAlignmentCenter;
layout.itemsDirection = JQCollectionViewItemsDirectionLTR;
  • 或者通過遵循 JQCollectionViewAlignLayoutDelegate 協議并實現對應協議方法:

// (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

剩下的使用及設置則跟 UICollectionViewFlowLayout 一樣.

作者

coder-zjq, [email protected]

最后

如果項目對您有所幫助,望您不吝于您的 star。
https://github.com/Coder-ZJQ/JQCollectionViewAlignLayout

相關源碼推薦:

我來說兩句
所有評論(0)
465 0 0
聯系我們
首頁/微信公眾賬號投稿

帖子代碼編輯/版權問題

QQ:435399051,742864542

如何獲得代碼達人稱號?

代碼貢獻英雄榜
用戶名 下載數
通過郵件訂閱最新 Code4App 信息
上一條 /4 下一條

廣告投放| 廣東互聯網違法和不良信息舉報中心|中國互聯網舉報中心|Github|申請友鏈|手機版|Code4App ( 粵ICP備15117877號-1 )

青龙出海APP下载
免费下载四川麻将 mlb即时比分 华新水泥股票分析 850游戏害人的事例 广东11选5助手软 简配资 新疆11选5开奖直 快乐8中奖规则详细 江苏新快3开奖结果 幸运11选五开奖结果 手机北京麻将作弊软件 私募基金与资产配置 网上真实棋牌 河南麻将朋友局破解版 体彩大乐透预测 比分推荐