当上边距不完全可见时,UITableView单元格会扩展动画更改

时间:2017-07-12 14:38:58

标签: ios objective-c uitableview uikit

我尝试使用下拉式像动画一样使细胞展开/折叠,因此当表格视图重新计算高度时,它会移动向下其他单元格 被挖掘的单元格,

但如果点击的单元格上边距不完全可见,则表格视图会通过移动所有上方单元格向上来更改其高度更新行为:

http://imgur.com/CldzuFf

是否有办法让细胞始终以自上而下的方式扩展? 像这样重新加载单元格:

[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:arrayToReload withRowAnimation:UITableViewRowAnimationBottom];
[self.tableView endUpdates];

1 个答案:

答案 0 :(得分:0)

只需根据选定的行设置contentOffset

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell * theCell = (UITableViewCell *)[tableView     
                                              cellForRowAtIndexPath:indexPath];

    CGPoint tableViewCenter = [tableView contentOffset];
    tableViewCenter.y += myTable.frame.size.height/2;

    [tableView setContentOffset:CGPointMake(0,theCell.center.y-65) animated:YES]; // need to customize the y offset 65 to your value
    // reload row here 
 }