用UICollectionView实现环形(扇形)布局

XFCyclicAnnularFlowLayout

CollectionView 实现扇形(环形)布局

功能设置

  • 1.设置有多少层扇形(环形)

  • 2.设置该层有多少元素

  • 3.设置元素大小Size

  • 4.设置该层环绕的半径

  • 5.设置该层扇形的展开弧度

  • 6.设置所有元素的朝向

    • 朝上(默认)
    • 朝下
    • 朝里(头部指向圆心)
    • 朝外(头部与环形法线方向一致)
  • 7.设置该层环形中所有元素是否顺时针排布

    • 默认是顺时针排布

API说明

  • 当前组的扇形(环形)半径

    • -(CGFloat)flowLayout:(XFCyclicAnnularFlowLayout*)flowLayout cyclicAnnularRadiusInSection:(NSInteger)section;

    • 返回参数类型值说明如下:

        CGFloat 返回当前组扇形(环形)的半径 (单位: π)
      
  • 当前位置Cell的大小(size

    • -(CGSize)flowLayout:(XFCyclicAnnularFlowLayout *)flowLayout cyclicAnnularItemSizeAtindexPath:(NSIndexPath *)indexPath;

    • 返回参数类型值说明如下:

        CGSize  返回当前位置(indexPath)cell的大小
      
  • 当前组的弧度范围(即该组展开弧度)

    • -(CGFloat)flowLayout:(XFCyclicAnnularFlowLayout*)flowLayout cyclicAnnularRadianInSection:(NSInteger)section;

    • 返回参数类型值说明如下:

        CGFloat  返回当前组元素在视图上展开的弧度范围
      
  • 该组元素在扇形区域内是否顺时针展开

    • -(BOOL)flowLayout:(XFCyclicAnnularFlowLayout*)flowLayout cyclicIsClockwiseInSection:(NSInteger)section;

    • 返回参数类型值说明如下:

        BOOL  该返回值设定视图当前环形中cell是顺时针依次排列,还是逆时针依次排列,默认是顺时针
      
  • 元素朝向

    • -(XFCyclicAnnularItemOrientation)cyclicAnnularItemOrientationInFlowLayout:(XFCyclicAnnularFlowLayout *)flowLyout;

    • 返回参数类型值说明如下:

        typedef NS_ENUM(NSUInteger, XFCyclicAnnularItemOrientation) {
        	XFCyclicAnnularItemOrientationUp,           // 朝上 默认
        	XFCyclicAnnularItemOrientationDown,         // 朝下
        	XFCyclicAnnularItemOrientationInside,       // 朝内
        	XFCyclicAnnularItemOrientationOutside       // 朝外
        };

猜你喜欢

转载自my.oschina.net/u/3826319/blog/1805373