向上滚动UITableView单元格,然后展开它



我有一个UITableView,里面有自定义单元格。当我点击单元格时,单元格会展开。当我点击被设备屏幕底部边缘切割了一半的单元格时,我遇到了一个问题。当我点击这个单元格时,我希望单元格向上移动,然后展开以显示详细信息,但现在它只是展开,我不知道是否展开。我需要手动向上滚动表格视图才能看到它。

下面是我的手机窃听码。我实施了相关的细胞扩增方法,细胞正在正常扩增。

- (void)cartTableView:(UITableView *)iTableView didSelectRowAtIndexPath:(NSIndexPath *)iIndexPath {
[self.temporaryCartTable scrollToRowAtIndexPath:iIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
[self expandOrCollapseCartCellAtIndex:iIndexPath];
}
- (void)expandOrCollapseCartCellAtIndex:(NSIndexPath *)iIndexPath {
self.selectedIndexPath = iIndexPath;
[self.temporaryCartTable beginUpdates];
[self.temporaryCartTable reloadRowsAtIndexPaths:@[iIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.temporaryCartTable endUpdates];
}

展开后,调用scrollToRowAtIndexPath,它应该会正确定位您的单元格。

您需要检查正在扩展的单元格(rectForRowAtIndexPath:)的rect是否完全在表视图的范围内(基于contentSizecontentOffset,使用CGRectContainsRect,如果它不可见,并且仅部分可见,则需要将其滚动到表视图的底部/顶部。

相关内容

最新更新