iOS如何改变UITableViewCell删除按钮的背景颜色和字体大小

本文介绍如何在iOS滑动cell中重载cell的layoutSubviews方法,通过检查子视图类名来判断是否为删除确认视图,并自定义其背景颜色,实现将默认红色改为紫色的效果。

 

我们需要重载cell的 - (void)layoutSubviews方法。

我们先来看看cell上都有些什么东西吧

 

- (void)layoutSubviews

{

    [super layoutSubviews];

    

    for (UIView *subView in self.subviews) {

      

       NSLog(@"%@",NSStringFromClass([subView class]));

    }

}

没有滑动cell时打印出得结果是:

 

2015-09-25 15:23:28.053 cellTest[2845:118038] UITableViewCellContentView

2015-09-25 15:23:28.053 cellTest[2845:118038] _UITableViewCellSeparatorView

 

滑动cell时打印出得结果是:

2015-09-25 15:26:43.425 cellTest[2845:118038] UITableViewCellDeleteConfirmationView

2015-09-25 15:26:43.425 cellTest[2845:118038] UITableViewCellContentView

2015-09-25 15:26:43.425 cellTest[2845:118038] _UITableViewCellSeparatorView

 

我们可以看到滑动后多了一个UITableViewCellDeleteConfirmationView,当我们拿到这个View时我们就可以改变cell删除按钮的颜色了

 

- (void)layoutSubviews

{

    [super layoutSubviews];

    

    for (UIView *subView in self.subviews) {

      

        if ([NSStringFromClass([subView class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {

            

            UIView *bgView=(UIView *)[subView.subviews firstObject];

            bgView.backgroundColor = [UIColor purpleColor];

        }

    }

}

 

这样cell删除按钮的背景颜由默认的红色改为了自定义的紫色,当然可以改为你想要的任意颜色

 

                  

同理我们可以看看UITableViewCellDeleteConfirmationView上有些什么

 

NSLog(@"%@",NSStringFromClass([[bgView.subviews firstObject] class]));

 

打印结果是:

 

2015-09-25 15:52:50.989 cellTest[2937:129075] UIButtonLabel

 

就只有一个UIButtonLabel,说明他就是cell删除按钮的titleLabel.

 

 

 

for(UIView *suview in bgView.subviews){

                

                if ([NSStringFromClass([suview class]) isEqualToString:@"UIButtonLabel"]) {

                    

                    UILabel *textLabel=(UILabel *)suview;

                    textLabel.font=[UIFont systemFontOfSize:14];

              }

                

    }

 

 

           

 

                                                                                               一起学习,一起进步!

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值