BAGridView.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #import <UIKit/UIKit.h>
  2. @class BAGridItemModel, BAGridView;
  3. /**
  4. 宫格样式
  5. - BAGridViewTypeImageTitle: 上面是图片,下面是文字
  6. - BAGridViewTypeTitleDesc: 上下都是文字,上面标题字体大,下面是详情字体小
  7. */
  8. typedef NS_ENUM(NSUInteger, BAGridViewType) {
  9. BAGridViewTypeImageTitle = 0,
  10. BAGridViewTypeTitleDesc
  11. };
  12. /**
  13. BAGridView 回调
  14. @param model 返回 BAGridItemModel
  15. @param indexPath indexPath
  16. */
  17. typedef void (^BAGridViewBlock)(BAGridItemModel *model, NSIndexPath *indexPath);
  18. /**
  19. BAGridView 配置回调
  20. @param tempView BAGridView
  21. */
  22. typedef void (^BAGridView_configurationBlock)(BAGridView *tempView);
  23. @interface BAGridView : UIView
  24. /**
  25. 宫格样式,默认:BAGridViewTypeImageTitle
  26. */
  27. @property(nonatomic, assign) BAGridViewType gridViewType;
  28. /**
  29. 数据源:来自 BAGridItemModel
  30. */
  31. @property(nonatomic, strong) NSArray <BAGridItemModel *>*dataArray;
  32. /**
  33. item:点击回调
  34. */
  35. @property(nonatomic, copy) BAGridViewBlock ba_gridViewBlock;
  36. /**
  37. item:高度,图片高度 默认:ba_gridView_itemHeight * 0.4
  38. */
  39. @property(nonatomic, assign) CGFloat ba_gridView_itemHeight;
  40. /**
  41. item:图片与文字间距(或者两行文字类型的间距),默认:0
  42. */
  43. @property(nonatomic, assign) CGFloat ba_gridView_itemImageInset;
  44. /**
  45. item:每行 item 的个数,默认:4个
  46. */
  47. @property(nonatomic, assign) NSInteger ba_gridView_rowCount;
  48. /**
  49. item:title 颜色,默认:BAKit_Color_Black【[UIColor blackColor]】
  50. */
  51. @property(nonatomic, strong) UIColor *ba_gridView_titleColor;
  52. /**
  53. item:Desc 颜色,默认:BAKit_Color_Gray_9【BAKit_Color_RGB(216, 220, 228)】
  54. */
  55. @property(nonatomic, strong) UIColor *ba_gridView_titleDescColor;
  56. /**
  57. item:分割线颜色,默认:BAKit_Color_Gray_10【BAKit_Color_RGB(240, 240, 240)】
  58. */
  59. @property(nonatomic, strong) UIColor *ba_gridView_lineColor;
  60. /**
  61. item:背景颜色,默认:BAKit_Color_White
  62. */
  63. @property(nonatomic, strong) UIColor *ba_gridView_backgroundColor;
  64. /**
  65. item:背景选中颜色,默认:无色
  66. */
  67. @property(nonatomic, strong) UIColor *ba_gridView_selectedBackgroundColor;
  68. /**
  69. item:是否显示分割线
  70. */
  71. @property(nonatomic, assign, getter=isShowLineView) BOOL showLineView;
  72. /**
  73. item:title Font,默认:图文样式下 16,两行文字下(上25,下12)
  74. */
  75. @property(nonatomic, strong) UIFont *ba_gridView_titleFont;
  76. /**
  77. item:Desc Font,默认:两行文字下 12
  78. */
  79. @property(nonatomic, strong) UIFont *ba_gridView_titleDescFont;
  80. /**
  81. 快速创建宫格
  82. @param gridViewType 样式
  83. @param dataArray 数据
  84. @param configurationBlock 配置回调
  85. @param block 点击事件回调
  86. @return BAGridView
  87. */
  88. + (instancetype)ba_creatGridViewWithGridViewType:(BAGridViewType)gridViewType
  89. dataArray:(NSArray <BAGridItemModel *>*)dataArray
  90. configurationBlock:(BAGridView_configurationBlock)configurationBlock
  91. block:(BAGridViewBlock)block;
  92. @end