美文网首页
iOS自定义UItableviewCell左划删除

iOS自定义UItableviewCell左划删除

作者: 不简单的风度 | 来源:发表于2016-08-01 19:54 被阅读417次

    本文主要讲的是把UItableviewCell左划删除替换成自定义的图片;
    首先,需要自定义cell,然后在cell的.m文件里重写- (void)layoutSubviews

    自定义cell.m的代码如下:

    
    - (void)layoutSubviews
    {
        [super layoutSubviews];
        
        UIView *view = nil;
        
        for (UIView *subview in self.subviews)
        {
            if ([subview isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")])
            {
                view = subview;
                
                if (view.subviews.count)
                {
                    UIButton *button = view.subviews[0];
                    
                    if (button)
                    {
                        button.backgroundColor = [UIColor cyanColor];
                        [button setImage:[UIImage imageNamed:@"myBg"] forState:UIControlStateNormal];
                        button.imageEdgeInsets = UIEdgeInsetsMake(0, 15, 0, 0);
                    }
                }
            }
        }
    }
    
    

    说明一下,设置buttonimage后位置还是有偏差的,所以用了imageEdgeInsets调节了按钮图片的位置,具体应该调多少,可以根据自己的需求。
    controller中实现代码的时候,如果想要调节删除视图的宽度,可以通过- (NSString*)tableView(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath这个方法来调节。
    最后上一张效果图

    Paste_Image.png

    写的不好,请大家多多包涵,如有错误,欢迎指正。

    相关文章

      网友评论

          本文标题:iOS自定义UItableviewCell左划删除

          本文链接:https://www.haomeiwen.com/subject/zuffsttx.html