use*_*375 2 iphone uitableview uiview
如何从该表中的自定义单元格访问我有UITableView的UIView.我找不到一种方法来做到这一点.谢谢
您可以添加指向UITableView的实例变量,并在创建/配置单元格时设置它(例如在tableView:cellForRowAtIndexPath :)中.确保您的单元格不保留tableView.知道你的单元格的tableView,调用[parentTableView superView]来访问UITableView的父视图:
@interface PropertyListingCell : UITableViewCell {
__weak id parentTableView;
}
- (void) setParentTableView:(UITableView*)tv; // parentTableView = tv;
Run Code Online (Sandbox Code Playgroud)
在UITableViewController实现中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//dequeue/create and configure your custom cell here
[cell setParentTableView:tableView];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
更新:
如果你使用的是最近的XCode(至少4.3),你可以简单地添加
@property (weak) UITableView *parentTableView; // use unsafe_unretained instead of weak if you're targeting iOS 4.x
Run Code Online (Sandbox Code Playgroud)
到@interfaceUITableViewCell子类的一部分.然后,当您创建一个单元格(in tableView:cellForRowAtIndexPath:)时,相应地设置此属性:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
//dequeue/create and configure your custom cell here
// ...
cell.parentTableView = tableView;
return cell;
}
Run Code Online (Sandbox Code Playgroud)
并在您的单元类调用self.parentTableView中访问此单元所属的tableView.
| 归档时间: |
|
| 查看次数: |
4477 次 |
| 最近记录: |