Swift UITableView - 如何将新项目放在顶部而不是列表的底部?

时间:2016-12-28 03:36:38

标签: ios swift

我是Swift的新手。关于UITableView的示例代码显示新项目位于列表的底部。我们怎么能扭转这种局面?我搜索了互联网,但找不到答案。

感谢。 古文

4 个答案:

答案 0 :(得分:7)

UITableviews根据数组的顺序显示数据,例如

等字符数组
var data = ["B","C","D","E"]

通常,您使用append将数据添加到数组中,该数据在数组的末尾添加数据,因此它将其添加到列表的底部。

data.append("A")

如果您希望表视图在列表顶部添加数据,那么您可以像这样在数组的开头添加数据。

data.insert("A", at: 0)

现在重新加载你的tableView,新的数据将添加到列表的顶部

yourTableViewName.reloadData()

答案 1 :(得分:2)

要将新项目置于顶部,请将其插入所需位置(索引0)并重新加载相应的indexPath(行:0,部分:0)。

let indexPathOfFirstRow = NSIndexPath.init(forRow: 0, inSection: 0)
yourArray.insert("some element", atIndex: 0)

tableView.beginUpdates()
tableView.insertRowsAtIndexPaths([indexPathOfFirstRow], withRowAnimation: .Automatic)
tableView.endUpdates()

重新加载整个表是一项代价高昂的任务,不推荐使用。

答案 2 :(得分:0)

将项添加到数组的最后一个索引。 然后重新加载tableView

答案 3 :(得分:0)

您真正需要做的就是在索引0处插入对象,而不是追加。在第一个索引0处添加最新值可确保最后一个数据显示在顶部。enter image description here您可以照常继续使用tableview.reloaddata()。希望屏幕截图对您有帮助