2022-09-05 解决自定义TableViewCell拖动下按钮状态改变

用户触发按钮中的事件,回调给model状态,用户滑动cell时,复用池出现的cell会重新取model里的值
前言:
model 中添加一个属性
@property(nonatomic, assign) BOOL selected;  //记录选中状态
  1. 声明Block
@interface AAAddCell : UITableViewCell
// step3-1: 声明block一个属性
@property(nonatomic, copy) void (^addBlock)(BOOL isAdd);
@end

2.按钮事件中添加

 // step3-2-1: 当前页面 已 添加
        if (self.addBlock) {
            self.addBlock(YES);
        }
 // step3-2-1: 当前页面 取消 已添加
        if (self.addBlock) {
            self.addBlock(NO);
        }

3:赋值

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// 实现UITableViewCell的初始化 ,包含数据源转model 给cell 赋值


// step3-3:滑动到复用时,展示Model中selected的状态
    addCell.addBlock = ^(BOOL isAdd) {
        if (isAdd) {
            model.selected = YES;
        }else{
            model.selected = NO;
        }
    };
    return addCell;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容