iOS中UITableViewController自带的刷新控件
iOS中UITableViewController自带的刷新控件
一、引言
在iOS开发中,使用tableView的界面,大多会用到一个下拉刷新的的控件,第三方库中,我们一般会选择比较好用的MJRefresh,其实,在iOS6之后,系统为我们提供了一个原生的刷新控件,使用起来非常方便,只是制定性不强,如果我们没有复杂的需求,使用UIRefreshControl也是不错的一个选择。
二、UITableViewController
相对于UIViewController,UITableViewController只是在内部为我们封装好了一个UITableView,并且遵守好了相关的协议,我们只需要在其中实现方法即可。UITableViewController更多的方面之处是在于下面的这个属性:
1 | @property (nonatomic) BOOL clearsSelectionOnViewWillAppear; |
这是一个bool值,设置为yes后每当当前controller调用ViewWillAppare的时候,都会将cell的选中状态取消,这十分有用,我们在通过点击cell跳转界面后,pop回来不需要在手动修改cell的选中状态了。
除此之后,TableViewController中还封装了这样一个属性:
1 | @property (nonatomic, strong, nullable) UIRefreshControl *refreshControl; |
这个UIRefreshControl类是iOS6之后引入的一个简单的刷新控件,我们如果设置了它,在tableView下拉的时候,系统会提供给我们一个下拉刷新的效果。
三、UIRefreshControl
这个类也十分简单,通过简单的设置可以展现一个小巧的刷新效果,但是制定性不强,其中主要属性如下:
1 | //获取刷新状态 |
需要注意的是,UIRefreshControl是继承于UIControl的,下拉唤醒刷新状态后,会触发UIControleEventValueChange事件,我们可以在其中进行刷新的数据逻辑操作。
例如:
1 | - (void)viewDidLoad { |
效果如下:
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592