1
如何从该表格内的自定义单元格访问其中具有UITableView的UIView。我无法找到一种方法来做到这一点。 谢谢从自定义单元格访问父视图
如何从该表格内的自定义单元格访问其中具有UITableView的UIView。我无法找到一种方法来做到这一点。 谢谢从自定义单元格访问父视图
您可以添加一个指向UITableView的实例变量,并在创建/配置单元格时设置它(例如在tableView:cellForRowAtIndexPath :)中。确保你的单元格不保留tableView。 了解你的电池的的tableView,调用[parentTableView上海华]进入的UITableView的父视图:
@interface PropertyListingCell : UITableViewCell {
__weak id parentTableView;
}
- (void) setParentTableView:(UITableView*)tv; // parentTableView = tv;
在UITableViewController中实现:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//dequeue/create and configure your custom cell here
[cell setParentTableView:tableView];
return cell;
}
UPDATE:
如果你使用近XCode(至少4.3)你可以简单地添加
@property (weak) UITableView *parentTableView; // use unsafe_unretained instead of weak if you're targeting iOS 4.x
到您的UITableViewCell的子类的@interface
部分。然后,当你创建一个单元格(tableView:cellForRowAtIndexPath:
)相应地设置该属性:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
//dequeue/create and configure your custom cell here
// ...
cell.parentTableView = tableView;
return cell;
}
而在你的细胞级呼叫self.parentTableView
访问的tableView这个小区属于。
感谢您的答复,但ü可以给我解释一下这个地方去--------- @interface PropertyListingCell:{UITableViewCell的__weak ID parentTableView; } - (void)setParentTableView:(UITableView *)tv; // parentTableView = tv; – user591375 2011-02-28 10:03:36
顶部块中的代码显示了您必须添加到自定义UITableViewCell头文件(例如MyTableViewCell.h)中的内容。 '(id)parentTableView;'基本上是一个指向自定义表格单元实现中的tableView的指针。 'setParentTableView'是一个将指针设置为表视图的方法 - 您应该将其添加到自定义表单元格实现中(例如MyTableViewCell.m)。现在,当你在你的UITableViewController子类中创建自定义单元格的实例时,你可以调用你的单元格的'setParentTableView'方法并设置指向这个单元格所属的UITableView的指针。 – kervich 2011-03-09 19:19:50