当前位置: 代码迷 >> 综合 >> tableView 上拉刷新/下拉加载
  详细解决方案

tableView 上拉刷新/下拉加载

热度:91   发布时间:2023-12-22 19:00:35.0
只要用到tableView的地方,大多会用到上拉刷新/下拉加载。 这个功能点说难不难,说简单也得花些时间。 好在早已有开源精神的热心人写好了一个插件,供iOS开发者调用。 用起来还是很简单的。这就是  EGOTableViewPullRefresh

对使用者来说,只需要知道 上拉刷新的事件、 下拉加载的事件。  具体使用如下:  EGOTableViewPullRefresh 加入到工程中。 

  
 
2.   在storyboard中,将你要操作的tableView 的custom class 设为: PullTableView 。

3. 通过 ctrl+drag,创建 UITableView的IBOutlet:
  @property (weak, nonatomic) IBOutlet PullTableView *pullTableView;   // 特别注意, 所创建的对象类型为:  PullTableView

4.  遵循所需要的协议:
 @interface ViewController : UIViewController <UITableViewDataSource,UITableViewDelegate,PullTableViewDelegate>
 仅仅遵循delegate 还不够,还得 做一个重要的操作: pullDelegate的 关联,如图: 

 

5.  实现delegate的方法, 获取到 refresh 和 loadMore 的事件,如下:

#pragma mark - PullTableViewDelegate

- (void)pullTableViewDidTriggerRefresh:(PullTableView *)pullTableView  {  

    [self performSelector:@selector(refreshTable) withObject:nil afterDelay:3.0f];

}

- (void)pullTableViewDidTriggerLoadMore:(PullTableView *)pullTableView{

    [self performSelector:@selector(loadMoreDataToTable) withObject:nil afterDelay:3.0f];

}

6.  编译 去 Release 化

   EGOTableViewPullRefresh  属于 非 ARC 框架, 我还没找到可用的ARC版本,只好在  Target -> build phases 中,将 所加载的文件,设为: -fno-objc-arc    

  当然,你也可以通过代码 删减 那些 release,这种工作,枯燥无味,还有可能一不小心删减出错。   


  相关解决方案