【发布时间】:2014-05-08 10:40:48
【问题描述】:
我已经为 UITableView 实现了自定义标题部分。 Header 的自定义视图中有一个按钮,我想在该按钮的点击操作上获取该部分的索引。
我可以试试
CustomHeader *view = (CustomHeader*)btnObject.superView;
但是如何从这个 headerView 的实例中获取该部分的 IndexPath 或索引?
编辑: 我需要一些独立于标签的东西或任何类似于 Cell 的 indexpath 的东西,如下所示
-(NSIndexPath*)indexPathFromSenderView:(UIView*)view{
CGPoint center= view.center;
CGPoint rootViewPoint = [view.superview convertPoint:center toView:self.tblMainContainer];
NSIndexPath *indexPath = [self.tblMainContainer indexPathForRowAtPoint:rootViewPoint];
return indexPath;
}
【问题讨论】:
-
您可以为自定义标题视图分配一个标签,并在按下按钮时获取该标签。
-
不,但是如果我们以某种方式删除该部分怎么办?那么就会出现不一致。
-
在重新加载表时,
viewForHeaderInSection:将再次被调用,因此标签将被重新分配。因此,如果您在删除该部分后重新加载表格,它应该可以工作。 -
如果标签(标准
int或自定义id)不适合您,总有一个选项可以不使用标题,而是在需要时添加一个额外的单元格,然后您可以使用您的indexPathFromSenderView:. -
是的 Yogi 我同意你的观点,但是如果表格有大约 10-15 行的图像并且可能是一些庞大的内容怎么办?那么重新加载整个表只是为了重新分配标签并删除一行是否合适?
标签: ios objective-c uitableview nsindexpath