【发布时间】:2013-09-17 11:46:47
【问题描述】:
我知道如何使用此处看到的方法为 UITableViewCell 的高度变化设置动画:Can you animate a height change on a UITableViewCell when selected?
但是,使用该方法,UITableView 将同时滚动,我不希望它这样做。
我有一个单元格很少的 UITableView;它占用的屏幕高度小于屏幕高度。底部单元格有一个 UITextField,当它开始编辑时,我手动设置了 UITableView 的内容偏移量,以便带有 UITextField 的单元格滚动到顶部。然后,根据 UITextField 中的输入,我可能希望增加 UITableViewCell 的大小以或多或少地显示额外的选项。
问题是,当为这个变化设置动画时,它会重新定位 UITableView,这样我的 UITextField 就不再位于顶部了。
这就是我正在做的,或多或少:
self.customAmountCellSize = height;
[self.tableView beginUpdates];
[self.tableView endUpdates];
我也试过
self.customAmountCellSize = height;
CGPoint originalOffset = self.tableView.contentOffset;
[self.tableView beginUpdates];
[self.tableView endUpdates];
[self.tableView setContentOffset:originalOffset animated:NO];
我想要行高动画,我不希望 UITableView 滚动。
有什么想法吗?
【问题讨论】:
-
我正在将 UITableView 滚动到通常无法通过拖动实现的 ContentOffset,因为 UITableView 的内容小于单个屏幕的大小。但是,底部单元格在编辑时需要滚动到顶部。当我在编辑过程中更改底部单元格的大小时,UITableView 会滚动回一个可以通过拖动实现的 ContentOffset(在这种情况下,返回到 (0, 0) 的内容偏移量)。
标签: ios animation uitableview