在TableView中的数据发生改变的时候,往往会发现UITableView中的数据没有更新,通常需要滚动后才会更新。

这个是因为他的重绘机制的问题。

一般情况下可以用下面这个方法解决:

在viewWillAppear中加入这两句:

- (void)viewWillAppear:(BOOL)animated{

[self.tableView reloadData];

[self.tableView reloadSectionIndexTitles];

}

这两句可以起到刷新UITableViewCell的作用,但是如果section的数据发生了改变,则没有被刷新。

后来在

http://stackoverflow.com/questions/8306792/uitableview-reload-section

发现了一个给出的方法:

- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

完整的可以这么写:

NSRange range = NSMakeRange(section, 1);

NSIndexSet *sectionToReload = [NSIndexSet indexSetWithIndexesInRange:range];

[self reloadSections:sectionToReload withRowAnimation:rowAnimation];

这样就解决了section刷新的问题。

关于UITableView界面刷新的更多相关文章

  1. UITableView的刷新

    UITableView的刷新1> 数据刷新的总体步骤* 修改模型数据* 刷新表格(刷新界面) 2> 刷新表格(刷新界面)的方法* 全局刷新(每一行都会重新刷新)- (void)reload ...

  2. Android界面刷新之invalidate与postInvalidate的区别

    Android的invalidate与postInvalidate都是用来刷新界面的. 在UI主线程中,用invalidate():本质是调用View的onDraw()绘制. 主线程之外,用postI ...

  3. Android之界面刷新(invalidate和postInvalidate使用)

    Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用. Android提供了Inva ...

  4. Android界面刷新

    Android的invalidate与postInvalidate都是用来刷新界面的,用法区别在于: 1)invalidate():实例化一个Handler对象,并重写handleMessage方法调 ...

  5. Android界面刷新方法

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中 ...

  6. Swing界面刷新问题(转)

    在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等.但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这 ...

  7. androidTv界面刷新跳动的问题

    今天刚完成老大要求的新模块,在界面刷新的时候遇到了一些问题:一个scrollview动态的添加控件且控件中的数据进行更换的时候,出现的界面跳动的问题 刚开始以为是界面没有展示完全配合scrollvie ...

  8. WPF 数据绑定,界面刷新的两种方法-----INotifyPropertyChanged

    .Netformwork4.0及以下版本 -------INotifyPropertyChanged 命名空间: System.ComponentModel 后台代码 public partial c ...

  9. JS新界面关闭原界面刷新的多种形式

    ------------恢复内容开始------------ 1.新界面为当前界面弹出的形式: 第一步:首先原界面的原生JS事件需要放到 (function () {  ......  })(); 中 ...

随机推荐

  1. Problem H: 阶乘和

    #include<stdio.h> int main() { ; ; ; int n; scanf("%d",&n); ;i<=n;i++) { ret= ...

  2. MetaWeblog是什么

    MetaWebBlog API(MWA)是一个Blog程序接口标准,允许外部程序来获取或者设置Blog的文字和熟悉.他建立在XMLRPC接口之上,并且已经有了很多的实现. 所以现在很多博客系统都支持这 ...

  3. 【iOS微博客户端开发】1、微博整体项目的构建

    回顾自己做过的项目,总结里面的知识点,分享自己参照WXHL的视频开发的一个模拟微博客户端的过程,为了还在IOS上找不到项目参考的朋友,这里会由一系列手把手的教程,如有不足,还希望可以抖抖小手,献上您宝 ...

  4. 正则表达式之 /^(\d)$/

    ^(\d)$就是0-9的任意一个数字, ^表示以...开头,\d表示0-9的数字,$表示以...结尾,

  5. 64位的centos6.9的vnc-sever的安装及桌面环境安装

    1.VNC (Virtual Network Computer)是虚拟网络计算机的缩写.VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 ...

  6. JS中event.preventDefault()取消默认事件能否还原?

    参考知乎讨论:https://www.zhihu.com/question/21891734

  7. spring利用后置处理器初始化bean属性

    spring利用后置处理器初始化bean属性 参考:http://blog.csdn.net/heyutao007/article/details/50326793 @Configurable @En ...

  8. 淘宝JAVA中间件Diamond详解(二)---原理介绍

    转:http://blog.csdn.net/anhuidelinger/article/details/70314744 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本 ...

  9. css - inline\inline-block\block

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 《暗黑世界V1.6》服务器代码执行图

    <暗黑世界V1.6>服务器代码执行图 (原文地址:http://www.9miao.com/forum.php?mod=viewthread&tid=44016&highl ...