从' UIView '获取类的实例



我正在尝试访问包含我的UIView的实例变量。

更准确地说,我有一个自定义的UITableViewCell。里面有一个UIView,我想通过UIView进入这个细胞。基本上,我把这个UIView作为另一个函数的参数传递给了其他地方。

是否有可能通过此UIView访问我的单元格,或者我必须找到另一种方式?

谢谢你的帮助。

UIView将是该UITableViewCell的子视图。UIView有一个属性superview,也许UITableViewCell基于你建立的任何视图层次结构。你也可以得到父视图的视图。

UITableViewCell* parentCell = (UITableViewCell*)myView.superview;

= (UITableViewCell*)myView.superview.superview;

我不知道为什么这样做,我认为,这是有点丑。但你可以试试这个类别:

@interface UITableView (MyCoolExtension) 
- (NSIndexPath *)indexPathForCellContainingView:(UIView *)view;
@end
@implementation UITableView (MyCoolExtension)
- (NSIndexPath *)indexPathForCellContainingView:(UIView *)view {
    while (view != nil) {
        if ([view isKindOfClass:[UITableViewCell class]]) {
            return [self indexPathForCell:(UITableViewCell *)view];
        } else {
            view = [view superview];
        }
    }
    return nil;
}
@end

最新更新