认证高级PHP讲师
It can be modified, and this purpose can be achieved through kvc or recursive search for subviews.
@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); }
It can be modified, and this purpose can be achieved through kvc or recursive search for subviews.