我想获得uitableviewcell的父视图,它是自定义的。我尝试使用自我超级视图来获取父表视图,但它没有用。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization cod
UITableView *tableView = (UITableView *)[self superview];
NSIndexPath *indexPath = [tableView indexPathForCell:self];
NSLog(@"%d %d", indexPath.section, indexPath.row);
...
}
Nslog输出的值总是0。
@jrturton已经给出了自我超级视图无法引用其父视图的原因。但接下来的问题是我想在单元格初始化时获取indexPath。
答案 0 :(得分:1)
- (void)didTapButton:(id)sender {
// Cast Sender to UIButton
UIButton *button = (UIButton *)sender;
// Find Point in Superview
CGPoint pointInSuperview = [button.superview convertPoint:button.center toView:self.tableView];
// Infer Index Path
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:pointInSuperview];
// Fetch Item
NSDictionary *item = [self.dataSource objectAtIndex:indexPath.row];
// Log to Console
NSLog(@"%@", item[@"title"]);
}
答案 1 :(得分:0)
您必须遍历视图层次结构。 This 会帮助你
答案 2 :(得分:-3)
尝试使用[cell.contentView addSubview:imgTemp];
希望它会对您有所帮助。