我有一个 UITableView
添加到 UIView
内的 UIViewController
。 TableView 具有适合其父 View 大小的约束。 View 对其位置和大小有限制。如果我为这个 View 的大小设置动画, TableView 会显示新行,但是即将出现的新元素似乎从它们的初始(未设置)位置飞来飞去。例如,UITableViewCell
的右侧详细信息指示器从单元格的左边缘飞出,文本标签从稍微不同的位置飞出,等等。
我做的动画是这样的:
[self.tableView reloadData];
[UIView animateWithDuration:0.3f animations:^{
self.tableViewHeightConstraint.constant = blah;
[self.view layoutIfNeeded];
}];
如您所见,数据重新加载发生在动画 block 之前。播放动画后,更改 View 大小不会再对 TableView 的内容进行动画处理(我猜是这样,但一切都已经就位了。)
如何防止元素动画并保持帧的动画?
最佳答案
看看调用 setAnimationsEnabled在单元格或单元格附件 View 上。
关于ios - UITableViewCell 细节指标飞来飞去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34286242/