iOS自定义UItableviewCell左划删除

本文主要讲的是把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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容