iOS自定义cell代码

热门标签

,

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

获取当前左滑cell的index
@interface InvoiceListTableView ()<UITableViewDelegate,UITableViewDataSource>
@property (strong, nonatomic) NSIndexPath* editingIndexPath;  //当前左滑cell的index,
@end
左滑代理
- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    UITableViewRowAction *action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"哈哈哈哈");
        [tableView setEditing:NO animated:YES];
        
    }];
    return @[action];
    
}
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath{
    self.editingIndexPath = indexPath;
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.001 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self setupSlideBtn];
    });
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath{
    
    self.editingIndexPath = nil;
}
自定义按钮
// 设置左滑菜单按钮的样式
- (void)setupSlideBtn
{
    // 判断系统是否是iOS11及以上版本
    if (@available(iOS 11.0, *)) {
        for (UIView *subView in self.subviews) {
            
            if ([subView isKindOfClass:NSClassFromString(@"UISwipeActionPullView")] && [subView.subviews count] >= 1)
            {
                // 修改备注
                UIView *remarkContentView = subView.subviews[0];
                [self setupRowActionView:remarkContentView imageName:@"二维码分享"];
            }
            
        }
        
    } else {
        // iOS11以下做法
        InvoiceListTableViewCell * cell = [self cellForRowAtIndexPath:self.editingIndexPath];
        for (UIView *subView in cell.subviews) {
            if ([subView isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")] && [subView.subviews count] >= 1)
            {
            
            // 删除
            UIView *deleteContentView = subView.subviews[0];
            [self setupRowActionView:deleteContentView imageName:@"二维码分享"];
            }
        }
    }
}

// 设置背景图片
- (void)setupRowActionView:(UIView *)rowActionView imageName:(NSString *)imageName
{
    
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]];
    [rowActionView addSubview:imageView];
    [imageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.top.bottom.equalTo(rowActionView);
        make.width.mas_equalTo(80);
    }];
}

文章参考另一篇

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS自定义cell代码》 发布于2019-11-04

分享到:
赞(0) 打赏

评论 抢沙发

9 + 6 =


iOS自定义cell代码

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?