Iphone 如何在TableView的单元格中获取容器UITableView
是否有任何方法可以访问单元格中包含当前UITableViewCell的UITableView?您可以向上查看视图层次结构,直到找到UITableView:Iphone 如何在TableView的单元格中获取容器UITableView,iphone,cocoa-touch,uitableview,Iphone,Cocoa Touch,Uitableview,是否有任何方法可以访问单元格中包含当前UITableViewCell的UITableView?您可以向上查看视图层次结构,直到找到UITableView: UIView *v = self; while (v && ![v isKindOfClass:[UITableView class]]) v = v.superview; // v now holds the table view, or nil if there isn't one 尽管您可能会问
UIView *v = self;
while (v && ![v isKindOfClass:[UITableView class]]) v = v.superview;
// v now holds the table view, or nil if there isn't one
尽管您可能会问,为什么单元格需要插入表视图,以及是否有更直接的方法来执行此操作。对于iOS 8+:
UITableView *tableView = cell.superview.superview;
是的,它是有效的,[self superview]具有相同的效果,另一个问题,我如何获得基本超级视图的视图控制器?@Ron:Simply
[self superview]
可能并不总是有效,如果将来的iOS版本在表视图和单元格之间的层次结构中插入其他视图。您可以(通常)通过查看nextResponder
是否返回UIViewController而不是UIView来检查视图是否有控制器,但再次问自己为什么要这样做。啊哈,谢谢,这个问题与任何项目或实际实现无关,我只想知道如何做到这一点。非常感谢。