在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. 6.3(java学习笔记)缓冲流

    一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...

  2. 1.7(java学习笔记)package和import

    package package主要用于管理类,在java中同一个包下不能有相同的类名,可有时项目总会出现很多同名的类,这时就需要通过包来管理类.不同的包下可以有相同的类名. 包就有点类似于文件夹,不同 ...

  3. Swift中懒加载(lazy initialization)的实现

    Swift中是存在和OC一样的懒加载机制的,但是这方面国内的资料比较少,今天把搜索引擎换成了Bing后发现用Bing查英文\最新资料要比百度强上不少. 我们在OC中一般是这样实现懒加载初始化的: 1: ...

  4. OC语言基础之NSArray

    0.数组的分类 NSArray :不可变数组 NSMutableArray : 可变数组 1: // @[] 只创建不可变数组NSArray 2: /* 错误写法 3: NSMutableArray ...

  5. UTF8、UTF16、UTF16-LE、UTF16-BE、UTF32都是些什么?

    下述内容大部分引用自CSDN: Unicode 是 unicode.org 制定的编码标准,目前得到了绝大部分操作系统和编程语言的支持.unicode.org 官方对 Unicode 的定义是:Uni ...

  6. 64个命令,每天一个linux命令目录, shutdown,tee,rcp,

    每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.htt ...

  7. RegexHelper

    ylbtech-Unitity-cs: RegexHelper 验证帮助类 1.A,效果图返回顶部   1.B,源代码返回顶部 1.B.1,RegexMail #region RegexMail pu ...

  8. C++之重载操作符

    1.类中重载+操作符 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Obje ...

  9. Java solr 索引数据增删改查

    具体代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClie ...

  10. Solr6.6 配置中文分词库mmseg4j

    1.准备 首先安装solr:参照搜索引擎Solr-6.6.0搭建,如果版本高于6,可能会不支持,需要改mmseg4j包 mmseg4j包下载: mmseg4j-solr-2.3.0-with-mmse ...