从CGPoint确定UITableView中的部分

时间:2014-04-26 23:18:29

标签: ios objective-c cocoa-touch uitableview

我需要在基于CGPoint的UITableView中确定部分。部分我的意思是节标题+单元格+节页脚。只有方法rectForHeaderInSection:和rectForFooterInSection:但整个部分都没有。感谢。

1 个答案:

答案 0 :(得分:0)

您必须手动迭代所有可能的部分,并确定给定部分是否存在某个点。

UITableView上有一个rectForSection:方法应该组合节标题,单元格和页脚的矩形。您可以通过对给定部分执行rectForHeaderInSection:rectForFooterInSection:的CGRectUnion来模拟它(假设它们都存在)。

NSInteger tappedSection = -1;
for (NSInteger section = 0; section < tableView.numberOfSections && tappedSection < 0; section++) {
    CGRect sectionRect = [tableView rectForSection:section];
    if (CGRectContainsPoint(sectionRect, somePoint)) {
        tappedSection = section;
    }
}
if (tappedSection >= 0) {
    NSLog(@"Tapped: %d", tappedSection);
}