我试图访问包含UIView
的实例变量。
更确切地说,我有一个自定义UITableViewCell
。我有一个UIView
,我希望通过我的UIView
访问此单元格。
基本上我把这个UIView
作为另一个函数的参数传递给其他地方。
是否有可能通过此UIView
访问我的手机,或者我是否需要寻找其他方式?
感谢您的帮助。
答案 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。