搜索

首页  >  问答  >  正文

iOS tableview 编辑模式下删除状态:标记区域的背景色能否修改

PHP中文网PHP中文网2811 天前464

全部回复(1)我来回复

  • 巴扎黑

    巴扎黑2017-04-18 09:30:01

    可以修改,通过 kvc 或者 递归查找子视图 方式均可以实现该目的。

    
    @interface UIView (FindView)
    
    - (UIView *)findViewWithClassName:(NSString *)aName;
    
    @end
    
    
    @implementation UIView (FindView)
    
    - (UIView *)findViewWithClassName:(NSString *)aName {
        NSLog(@"%@", self);
        if([[[self class] description] isEqualToString:aName])
            return self;
    
        for(UIView *subview in self.subviews) {
            UIView *huntedSubview = [subview findViewWithClassName:aName];
    
            if(huntedSubview != nil)
                return huntedSubview;
        }
        return nil;
    }
    
    @end
    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
        NSString *prefix    = @"UITableViewCell";
        NSString *suffix    = @"EditControl";
        NSString *className = [prefix stringByAppendingString:suffix];
        UIView *view = [cell findViewWithClassName:className];
        view.backgroundColor = [UIColor redColor];
        NSLog(@"%@", view);
    }

    回复
    0
  • 取消回复