基于Model
数据对UITableView
和UICollectionView
进行简单封装
下载项目,导入UIScrollViewWrap
目录导入项目中.
Common: 一个公用的关联对象的方法
UITableView: UITableView封装代码
UICollection: UICollection封装代码
如果需要UITableView
的封装,只需导入Common
和UITableView
文件夹到项目中
如果需要UICollection
的封装,只需导入Common
和UICollection
文件夹到项目中
pod 'SIScrollViewWrap','~>1.0'
-
导入头文件
#import "UITableViewWrap.h" #import "UICollectionWrap.h"
-
构建数据源
NSMutableArray *array = [NSMutableArray array] ; for (NSInteger i = 0 ; i < 10 ; i ++){ NSString *str = [NSString stringWithFormat:@"%ld",i] ; [titleIndex addObject:str] ; NSMutableDictionary *dic = [NSMutableDictionary dictionary] ; NSString *titleHeader = [NSString stringWithFormat:@"第%ld组的头",i] ; NSString *titleFooder = [NSString stringWithFormat:@"第%ld组的尾",i] ; [dic setObject:titleHeader forKey:kGroupHeaderTitle] ; [dic setObject:titleFooder forKey:kGroupFooderTitle] ; NSMutableArray *models = [NSMutableArray array] ; for (NSInteger j = 0 ; j<10;j++){ NSMutableDictionary *d = [NSMutableDictionary dictionary] ; [d setObject:[NSString stringWithFormat:@"%ld",j] forKey:kCellTitle] ; [d setObject:[NSString stringWithFormat:@"%ld",i] forKey:kCellDetail] ; [d setObject:@(UITableViewCellAccessoryDisclosureIndicator)forKey:kCellAccessoryType] ; [d setObject:^(NSIndexPath *indexPath){ NSLog(@"%ld--%ld",indexPath.section,indexPath.row); } forKey:kCellSelected] ; [models addObject:d] ; } [dic setObject:models forKey:kGroupModels] ; [array addObject:dic] ; }
-
赋值数据源
self.tableView.models = array ;
-
如果使用代理,不要使用系统的,需要使用下面的代替
@property (nonatomic,weak) id<SITableViewDelegate> sDelegate ; @property (nonatomic,weak) id<SITableViewDataSource> sDataSource ;
-
自定集成了
UITableView+FDTemplateLayoutCell
实现了自动计算高度,只需要设置下面进行开启/// 是否支持Cell自动计算高度,默认不支持 @property (nonatomic,assign) BOOL autoLayout ;
-
更多使用方法查看
Demo
UIScrollViewWrap is available under the MIT license. See the LICENSE file for more info.