ios - 添加带有向上动画的部分/行

标签 ios swift uitableview animation

当向我的数据源添加项目时,我使用 tableView.reloadData() 并调整表格的 contentOffset,以便内容与顶部的新添加部分保持相同的位置(不一定可见) .

我用来执行此操作的代码如下所示:

// add item to data source

let height = tableView.contentSize.height
var offset = tableView.contentOffset

tableView.reloadData()

let newSet = CGPoint(x: offset.x, y: offset.y + tableView.contentSize.height - height)

tableView.contentOffset = newSet.y < 0 ? offset : newSet

这有效,但没有动画。我想要实现的是在当前部分的顶部添加该部分。如果新部分可见,它应该向上移动。

如果我插入该部分而不是使用 reloadData(),那么新部分下方的所有内容都将向下动画。

tableView.insertSections(IndexSet([1]), with: .automatic)
// All the content will move downwards even after setting the offset

在将新部分插入表格后,我应该怎么做才能使新部分向上动画?

最佳答案

没有找到简单的方法。也许你可以试试:
1.插入位置前截屏
2. 覆盖插入位置前的部分
3. 更改 tableView 的框架以确保插入位置下方的部分在重新加载后不会移动
4.重新加载tableView
5. 动画你的屏幕截图向上移动以显示新部分

关于ios - 添加带有向上动画的部分/行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42987157/

相关文章:

ios - 在 App 中从 SSO 获取 access_token 时 OAuth2 请求上的 invalid_grant

ios - 将 Paytm 与 swift 3.0 集成

iphone - Facebook 授权应用程序中的对话而不是 Safari 中的对话

iOS swift : Find index for CKRecord in array

ios - 如何将 TableViewCell 中的数据作为按钮执行?

ios - 如何存储选定行的数组?

ios - 一对多关系 : CoreData

ios - 协议(protocol)和反射中的静态变量

ios - AppDelegate和.xib没有正确实现,但是构建成功了?

ios - 搜索时将结果加载到表上