新添加的表格视图单元格在反弹时隐藏

Posted

技术标签:

【中文标题】新添加的表格视图单元格在反弹时隐藏【英文标题】:Newly added tableview cells are hidden upon bounce back 【发布时间】:2013-12-03 04:46:56 【问题描述】:

我有一个由 REST Web 服务填充的 UITableview。我启用了弹跳,以便我可以使用

触发对服务器的调用
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 

使用此方法,当用户在尝试滚动到 tableView 底部后抬起手指时,调用会被触发。然后视图反弹回来并添加新的单元格。我遇到的问题是添加任何内容并不明显。 tableView 弹回屏幕底部,直到用户再次尝试滚动新单元格才可见。这是我用来触发呼叫的方法。

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 

    NSInteger currentOffset = scrollView.contentOffset.y;
    NSInteger maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;

    if (maximumOffset - currentOffset <= -40) 
    
        if (scrollView == _feedTableView) 
        
            //This method has a call to the server and adds the new cells to the table
            [self loadFeed:feedRefreshControl];
        
    

我尝试关闭触发后的弹跳,以试图让底部单元格保持在用户抬起手指时的位置,但最后一个单元格只是以非动画方式弹回底部。

任何想法都将不胜感激!

【问题讨论】:

【参考方案1】:

过去,我使用过一个假的最后一个单元格,里面装有一个微调器。当用户向下滚动到列表末尾时,他们会将微调器单元格视为最后一个单元格。当添加更多数据时,微调器单元格将替换为新数据的第一个单元格。这对用户来说是一个明显的视觉线索,表明更多信息已加载到列表中。我还闪现了状态栏,再次提醒用户数据已更新。

【讨论】:

我喜欢你的建议@Jeffery。我确实包含了一个微调器,但它只是覆盖了最终的单元格。假细胞可以解决问题。我可以麻烦您询问一下如何完成此操作。我的 tableView 技能非常初级。当我的数据源是 coreData 实体时,我不太确定如何在末尾添加一个额外的单元格。一旦新数据到达,我也不确定如何替换它。提前致谢

以上是关于新添加的表格视图单元格在反弹时隐藏的主要内容,如果未能解决你的问题,请参考以下文章

添加表格视图单元格在 iOS 中不起作用?

表格视图单元格在设备上不可见

表格视图单元格在整数格式时不显示数据

自定义表格单元格中的堆栈视图

当我向下滚动表格视图时,隐藏单元格的复选标记消失了

表格视图在按钮单击时更新单元格时反弹