pyqt tableview大数据自动退出_iOS封装到极致好用的tableView

UITableView基本上是使用最多的一个控件,今天介绍封装后的 WMZTableView 省去写代理的时间


先直接上代码

 GroupTableView() .wAutoCell(YES) .wMasonryConfig(self.view, ^(MASConstraintMaker *make) { make.edges.mas_equalTo(0); }, self.modelArr) .wStart();
7d43c12290aec49ae139f46205404e29.png

不需要写cell,是不是简化了不少,比起写那么多的代理方法,最精简的可以只传frame和data即可。

效果图是我随便写的几个自定义的cell,别介意。

7175c4ab1373e2f485d3eddd5b404f41.png

用法

可以看demo了解基本都很简单清晰

1 如果要在UITableViewCell里自己写样式 需调用wDealCell,大概如下

.wDealCell(^UITableViewCell *(NSIndexPath *indexPath, UITableView *tableView,id model) { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([UITableViewCell class])]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([UITableViewCell class])]; } cell.textLabel.text = model; return cell; })

2 如果要用特殊式写法开启,这种写法不需要手动创建cell,只需要传model过去即可

 .wAutoCell(YES)

这种方法就是传进去的数据源带的model一定要是wBaseModel或者集成它的类

还有自定义cell要带wBaseModel属性

3 如果tableview是需要用section的 比如多少个section和每个section多少rows 需用wSection,默认是row模式

就是section只有一个,row的个数是传进来的数组的个数

.wSection(YES)

而且传进的modelArr的格式需要是多个子数组组成的数组

@[@[],@[],@[]]

3 开启头视图和尾视图高度和视图的定制

//cell高度自定义 默认是用masonry的自动布局.wCellHeight(^NSInteger(NSIndexPath *indexPath, UITableView *tableView) { return indexPath.row == 0 ? 200:UITableViewAutomaticDimension;})//cell尾部高度自定义 默认0.01.wCellFootHeight(^NSInteger(NSInteger section, UITableView *tableView) { return 50; })//cell尾部视图自定义 默认无 .wCellFootView(^UIView *(NSInteger section, UITableView *tableView) { UIView *view = [UIView new]; view.backgroundColor = [UIColor yellowColor]; return view;})//cell头部高度自定义 默认0.01.wCellHeadHeight(^NSInteger(NSInteger section, UITableView *tableView) { return 50;})//cell头部视图自定义 默认无.wCellHeadView(^UIView *(NSInteger section, UITableView *tableView) { UIView *view = [UIView new]; view.backgroundColor = [UIColor redColor]; return view;})

4 最重要的一点

wStart属性 需放在最后才有效果,里面执行tableview的delegate和datasource方法

开始解释一下这个类的主要思路

1 我一开始的写法为什么看不到cell的定制的方法

数据源modelArr带的是自定义的wBaseModel,里面携带属性自定义cell类名

wBaseModel可以继承这个类然后自己自定义

wBaseModel *model = [wBaseModel new];//自定义cell的类名model.cellName = @"NornalCellOne";//带过去的参数 这些就不用说了model.labelName = @"NornalCellOne的文本NornalCellOne的文本";//带过去的参数 这些就不用说了model.imageName = [NSString stringWithFormat:@"%d.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值