巴扎黑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);
}