iOS下拉刷新

在iOS开发中,我们经常要用到下拉刷新来加载新的数据。iOS原生就带有该方法,下面就iOS自带的下拉刷新方法来简单操作。

1、在TableView里,一打开软件,我们就调用下拉刷新事件。

- (void)viewDidLoad {
    [super viewDidLoad];

    // 集成刷新控件
    [self setupRefresh];

}

/**
 *  集成下拉刷新
 */
-(void)setupRefresh
{
    //1.添加刷新控件
    UIRefreshControl *control=[[UIRefreshControl alloc]init];
    [control addTarget:self action:@selector(refreshStateChange:) forControlEvents:UIControlEventValueChanged];
    [self.tableView addSubview:control];

    //2.马上进入刷新状态,并不会触发UIControlEventValueChanged事件
    [control beginRefreshing];

    // 3.加载数据
    [self refreshStateChange:control];
}

2、接下来,我们就要实现 refreshStateChange 这个方法,在里面显示数据和关闭下拉刷新。

/**
 *  UIRefreshControl进入刷新状态:加载最新的数据
 */
-(void)refreshStateChange:(UIRefreshControl *)control
{
    // 3.发送请求
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    [mgr GET:@"https://api.weibo.com/2/statuses/public_timeline.json" parameters:nil success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject){

        //1.获取数据,处理数据,传递数据给tableView,如:

        // 将最新的微博数据,添加到总数组的最前面
//        NSRange range = NSMakeRange(0, newStatuses.count);
//        NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
//        [self.statuses insertObjects:newStatuses atIndexes:set];

        //2.刷新表格
        [self.tableView reloadData];

        // 3. 结束刷新
        [control endRefreshing];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        // 结束刷新刷新 ,为了避免网络加载失败,一直显示刷新状态的错误
        [control endRefreshing];
    }];
}
时间: 2024-10-10 13:34:02

iOS下拉刷新的相关文章

iOS下拉刷新和上拉刷新

在iOS开发中,我们经常要用到下拉刷新和上拉刷新来加载新的数据,当前这也适合分页.iOS原生就带有该方法,下面就iOS自带的下拉刷新方法来简单操作. 上拉刷新 1.在TableView里,一打开软件,我们就调用下拉刷新事件. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 - (void)viewDidLoad {     [super viewDidLoad];     // 集成刷新控件     [self set

iOS:下拉刷新控件UIRefreshControl的详解

下拉刷新控件:UIRefreshControl 1.具体类信息: @interface UIRefreshControl : UIControl //继承控制类 - (instancetype)init; @property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing; //是否可以刷新 @property (nonatomic, retain) UIColor *tintColor; //控件颜色 @property (

ios下拉刷新上拉加载EGORefresh简单实现

前提下载 EGORefreshTableHeaderView.h  EGORefreshTableHeaderView.mEGORefreshTableFootView.h     EGORefreshTableFootView.m  以及8张图片并拖入工程 在.pch文件里导入 #import "EGORefreshTableHeaderView.h" #import "EGORefreshTableFootView.h"在.h文件里 UIScrollViewDe

iOS 下拉刷新和加载更多 (OC\Swift)

Swift语言出来之后, 可能还没有第三方的下拉刷新和上提加载, 所以自己用UIRefreshControl控件和UITableView实例的tableFooterView(底部视图)属性结合起来写了一个下拉刷新和点击加载更多的基本实现, 分为OC的代码实现和Swift的代码实现, 希望大家可以指出不足: Swift代码: 1 import UIKit 2 3 class ViewController: UITableViewController { 4 5 // 用于显示的数据源 6 var

IOS 开发下拉刷新和上拉加载更多

IOS 开发下拉刷新和上拉加载更多 简介 1.常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTTableViewrefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 2.AH3DPullRefresh实现下拉刷新和上拉下载的步骤 添加UIScrollView+AH3DPullRefresh.h 和UIScrollView+AH3DPullRefresh.m两个文件,由此可知,它是基于UIScrollView的方法. 在bu

iOS学习之路--下拉刷新和上拉加载更多

iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法. 内容 1.有哪些实现方法与各方法的优劣 使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容并从网络上获取最新的信息.通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要的信息和获取最新的信息.那么这种功能如何实现呢,还请跟着笔者继续往下看. 目前来说,主要的实

UI下拉刷新(IOS开发)

由于表应用有两个UI设计模式: 分页模式.下拉刷新模式. 其中下拉刷新被广泛应用(新浪微博,QQ) 这里吐槽一下QQ的墨迹,其实PC桌面的应用还好,及时的扁平化.但是IOS这么大的市场,但是现在都IOS8了,为什么还在用IOS6的下拉刷新的"胶皮糖"UI样式. IOS6以后增加了一个UIRefreshControl的下拉刷新类,目前这个类只能应用于表视图界面. 在Xcode6中,还没有在故事版中增加下拉拖拽,类似label之类的控件.所以布局什么的不用太多考虑. 代码部分可重用,目前就

android 下拉刷新上拉加载更多,高仿ios左滑动删除item,解决了众多手势问题

一.前言 老规矩,别的不说,这demo是找了很相关知识集合而成的,可以说对我这种小白来说是绞尽脑汁!程序员讲的是无图无真相!现在大家一睹为快! 二.比较关键的还是scroller这个类的 package com.icq.slideview.view; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; i

iOS开发项目篇—30下拉刷新

iOS开发项目篇—30下拉刷新 一.网络监控 当应用所处的网络环境不好的时候,获取不到相应的网络数据,考虑到用户对应用的使用体验,有必要对网络的状况进行监听. 在程序启动完的时候,监控网络 YYAppDelegate.m文件代码: 1 // 2 // YYAppDelegate.m 3 // 4 5 #import "YYAppDelegate.h" 6 #import "YYOAuthViewController.h" 7 #import "YYCont