【发布时间】:2016-07-30 19:17:39
【问题描述】:
有什么方法可以访问单元格中包含当前 UITableViewCell 的 UITableView 吗?
【问题讨论】:
标签: iphone cocoa-touch uitableview
有什么方法可以访问单元格中包含当前 UITableViewCell 的 UITableView 吗?
【问题讨论】:
标签: iphone cocoa-touch 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
尽管您可能应该质疑为什么单元格需要戳表格视图,以及是否有更直接的方法来做到这一点。
【讨论】:
[self superview] 可能并不总是有效。您可以(通常)通过查看 nextResponder 是否返回 UIViewController 而不是 UIView 来检查视图是否具有控制器,但再次问自己为什么要这样做。
对于 iOS 8+:
UITableView *tableView = cell.superview.superview;
【讨论】: