从`UIView`获取类的实例

时间:2014-06-16 08:20:17

标签: ios objective-c uitableview uiview instance

我试图访问包含UIView的实例变量。

更确切地说,我有一个自定义UITableViewCell。我有一个UIView,我希望通过我的UIView访问此单元格。 基本上我把这个UIView作为另一个函数的参数传递给其他地方。

是否有可能通过此UIView访问我的手机,或者我是否需要寻找其他方式?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

UIView将是UITableViewCell的子视图。 UIView有一个属性superview,可能UITableViewCell基于您已建立的任何视图层次结构。您还可以获得超级视图的视图。

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

= (UITableViewCell*)myView.superview.superview;

答案 1 :(得分:0)

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

@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

我接听了here