更改 uitableview 单元格删除按钮背景颜色

Posted

技术标签:

【中文标题】更改 uitableview 单元格删除按钮背景颜色【英文标题】:Change uitableview cell delete button background color 【发布时间】:2014-07-17 07:48:28 【问题描述】:

我已经在这个link看到了怎么做。

我在我的视图控制器中跟踪并实现了它,它有表格视图和其他子视图。 Tableview 单元格由自定义单元格实现。

问题是,我从来没有看到这个“UITableViewCellDeleteConfirmationView”来改变 UITableView 单元格删除按钮颜色的颜色。我在ios7上写。那么,是不是已经不一样了?还是我做错了什么?

 -(void)viewWillLayoutSubviews

    [super viewWillLayoutSubviews];

    NSArray *subviews = [self.view subviews];

    // Return if there are no subviews
    if ([subviews count] == 0) return;

    for (UIView *subview1 in subviews)
    
        NSLog(@"subview1 > %@",NSStringFromClass([subview1 class]));


        for(UIView *subview2 in subview1.subviews)
        
            NSLog(@"subview2 > %@",NSStringFromClass([subview2 class]));


            for(UIView *subview3 in subview2.subviews)
            
                NSLog(@"subview3 > %@",NSStringFromClass([subview3 class]));


                for(UIView *subview4 in subview3.subviews)
                
                    NSLog(@"subview4 > %@",NSStringFromClass([subview4 class]));

                    for(UIView *subview5 in subview4.subviews)
                    
                        NSLog(@"subview5 > %@",NSStringFromClass([subview5 class]));

                        for(UIView *subview6 in subview5.subviews)
                        
                            NSLog(@"subview6 > %@",NSStringFromClass([subview6 class]));

                        

                    

                


            


            //
            //            if ([NSStringFromClass([subview2 class])     isEqualToString:@"UITableViewCellDeleteConfirmationView"])
            //            
            //                //your color
            //                ((UIView*)[subview2.subviews firstObject]).backgroundColor=[UIColor blueColor];
            //                
            //                
            //            
        


    


【问题讨论】:

专业提示:如果您想要递归的子视图列表,请设置断点并在 lldb 中输入:po [self.view recursiveDescription] viewWillLayoutSubviews 是在自定义单元类中实现的吧? @jithinroy viewWillLayoutSubviews 没有调用我的自定义单元格类。我还在自定义单元格中检查 willTransitionToState,它也没有给我 UITableViewCellDeleteConfirmationView。 【参考方案1】:

尝试使用您的自定义单元格类。

- (void)layoutSubviews

    [super layoutSubviews];
    for (UIView *subview in self.subviews) 

        for(UIView *subview2 in subview.subviews)
            if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) 

                ((UIView*)[subview2.subviews firstObject]).backgroundColor=[UIColor yellowColor];
            
        
        

【讨论】:

以上是关于更改 uitableview 单元格删除按钮背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 选择单元格时所有组件都更改了背景颜色

如何更改 UITableViewCell 编辑按钮背景颜色?

在 Xamarin IOS 的 UITableview 中更改滑动以删除按钮高度

多选模式下的 UITableView 删除选定单元格中所有子视图的背景颜色

iOS - [UITableView reloadData] 重新加载,但不删除旧单元格?

UITableView - 如何在拖放期间更改单元格的背景颜色?