Rumah > Soal Jawab > teks badan
巴扎黑2017-04-18 09:30:01
Boleh diubah suai, dan ini boleh dicapai melalui carian kvc atau rekursif untuk subview.
@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);
}