【发布时间】:2011-04-08 23:45:56
【问题描述】:
假设我有一个表格视图,我想实现这样的东西:
- 表格视图默认包含
n单元格。 - 新单元格将添加到表格视图的顶部(头部)。
- 表格视图的数据源是一个可变数组。
问题是当我使用[tableview reloadData]时,新数据总是显示在tableview的顶部,但我想要的是保留旧位置的旧可见单元格,这意味着重新加载数据后不会刷新。我尝试了一些解决方案,我发现如果我在尾部添加新单元格并更新表格视图,旧的可见单元格将保持旧位置而无需任何额外的努力。但是如果我在顶部添加新单元格,我不知道如何将旧的可见单元格保留在旧位置。
作为参考,我认为 iPhone 的官方 Twitter 应用程序只是在时间线视图中实现了我想要的,但我不知道如何存档。
各位,有什么想法吗?
非常感谢。
-托尼·许
[更新] 在文本中描述我想要的内容有点困难。我添加了一些图片。
如图[链接在下面],默认单元格是从加利福尼亚部分开始的,我想在“Brea”之前添加3个新单元格,我想要的是在我添加“New cell 1,2,3之后”,单元格“Brea”仍然保持原来的位置。也就是说,更新后的新单元格1,2,3是不可见的。
对不起,因为我没有足够的声誉来使用图片,请访问此网址http://i.stack.imgur.com/S9jJl.png
【问题讨论】:
-
我不太明白你的意思,你的意思是你的表格视图是自动滚动到顶部的吗?
-
我认为这就是他的意思,如果他在顶部添加单元格。
-
这取决于你如何实现 tabieview 数据源协议。
-
@vodkhang,@Rudiger,是的,这就是我的意思,新单元格会自动显示在 tableview 的顶部。
-
@Toro,对不起,我不明白你的意思。我检查了 UITableViewDataSource 中所有可能的方法,我找不到任何与单元格位置相关的方法。你是不是特别想说
tableView:cellForRowAtIndexPath:?
标签: iphone uitableview