BBAGridPannelProtocol.h 2.14 KB
//
//  BBAGridPannelProtocol.h
//  BBAPods
//
//  Created by liurui12 on 16/8/23.
//  Copyright © 2016年 Baidu. All rights reserved.
//

#ifndef BBAGridPannelProtocol_h
#define BBAGridPannelProtocol_h

#import "BBAPannelUserInfoHeaderView.h"

@class BBAPannelComponent;
@class BBAGridPannelViewCell;

/*!
 @@protocol
 @brief  事件接口
 */
@protocol BBAGridPannelDelegate <NSObject>


@end


/*!
 @@protocol
 @brief  视图接口
 */
@protocol BBAGridPannelDataSource <NSObject>

//pannel height
-(CGFloat)heightOfPannelView:(BBAPannelComponent *)pannelView;

//items count
- (NSInteger)gridPannelView:(BBAPannelComponent *)pannelView numberOfItemsInSection:(NSInteger)section;

//构造cell
- (BBAGridPannelViewCell *)gridPannelView:(BBAPannelComponent *)pannelView
                   cellForItemAtIndexPath:(NSIndexPath *)indexPath;

//背景色
- (UIColor *)backgroundColorOfGridPannelView;
//cell size
- (CGSize)cellSizeOfGridPannelView:(BBAPannelComponent *)pannelView;
//视图缩进
- (UIEdgeInsets)contenInsetsOfGridPannelView:(BBAPannelComponent *)pannelView;
//行间距
- (CGFloat)rowsSpacingOfGridPannelView:(BBAPannelComponent *)pannelView;
//每页列数
- (NSUInteger)columnsOfGridPannelView:(BBAPannelComponent *)pannelView;
//每页行数
- (NSUInteger)rowsOfGridPannelView:(BBAPannelComponent *)pannelView;
//总共多少页
- (NSUInteger)numberOfPageAtGridPannelView:(BBAPannelComponent *)pannelView;

//几个section,传入二维数组的情况下需要多个section
- (NSUInteger)numberOfSectionAtGridPannelView:(BBAPannelComponent *)pannelView;

//传入二维数组时,最大的列数,用于计算collectionView的contentWidth
- (NSUInteger)maxColumnsAtGridPannelView:(BBAPannelComponent *)pannelView;

//pageControll 配置颜色
- (UIColor *)pageIndicatorTintColor;
- (UIColor *)currentPageIndicatorTintColor;


@end


/*!
 @@protocol
 @brief  header视图接口
 */
@protocol BBAGridPannelHeaderDataSource <NSObject>

-(CGFloat)heightOfGridPannelViewHeader;
-(UIView *)headerViewOfGridPannelView:(BBAPannelComponent *)pannelView;
-(TGridPannelHearderStyleType)styleTypeOfGridPannelHeader;
-(void)pannelDidAppear;

@end

#endif /* BBAGridPannelProtocol_h */