开发IOS库之下拉刷新-WCPullRefreshControl

原创Blog,转载请注明出处

blog.csdn.net/hello_hwc

我的Github

https://github.com/wenchenhuang/WCPullRefreshControl



前言:

写IOS代码有段时间了,是时候写几个Github的库了,即锻炼了自己,又能够帮助需要的人。

这个库是一个下拉刷新库,自己用了10个小时左右的时间开发的,做了屏幕适配,旋转适配,自己设计了一些动画,API设计改了3次。最后,第一个版本提交到Github了。

地址



几种效果图



特点:

  • 适配各种尺寸的屏幕
  • 适配各种Scrollview(UIScrollview,UITableview,UIWebview)
  • 支持设备旋转
  • 支持最多12种下拉刷新的混合(3种progress,4种refreshing,3*4=12)
  • 支持Block和Delegate两种方式传递事件
  • 支持有导航栏的Scrollview


使用起来很简单

  1. 把Classes文件件拷拖拽到工程里
  2. 在需要的地方 #import “WCSimplePullRefreshControl.h”,并且实现UIScrollViewDelegate
  3. 保存一个WCSimplePullRefreshControl属性
  4. 初始化,如果使用代理传递事件,则设置delegate为self
  5. 在scrollViewDidEndDragging里调用updateWHenScrollDidEndDraging;在scrollViewDidScroll调用scrollViewDidScroll
  6. 在刷新结束的时候,调用finishRefreshingSuccessully:


例子一 用Block传递事件

这里使用默认的样式

@interface DemoTableview()<UIScrollViewDelegate>
@property (strong,nonatomic)WCSimplePullRefreshControl * pullRefresh;

@end

@implementation DemoTableview
-(void)viewDidLoad{
    self.pullRefresh = [[WCSimplePullRefreshControl alloc] initWithScrollview:self.tableView Action:^{
        [self performSelector:@selector(reset) withObject:nil afterDelay:2.0];
    }];
}
-(void)reset{
    [self.pullRefresh finishRefreshingSuccessully:YES];
}

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    [self.pullRefresh updateWHenScrollDidEndDraging];
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [self.pullRefresh updateWhenScrollviewScroll];
}


方式二 用代理传递事件

定制化样式

@interface DemoTableview()<UIScrollViewDelegate,WCPullRefreshControlDelegate>
@property (strong,nonatomic)WCSimplePullRefreshControl * pullRefresh;

@end

@implementation DemoTableview
-(void)viewDidLoad{
      self.pullRefresh = [[WCSimplePullRefreshControl alloc] initWithScrollview:self.tableView Action:NULL progressItem:WCProgressItemTypeMagicSquare refreshingItem:WCRefreshingItemTypeMagicSquare lastUpdate:nil showLastUpdate:NO textColor:[UIColor blueColor] itemColor:[UIColor grayColor] pullHeight:64];
self.pullRefresh.delegate = self;
}
-(void)reset{
    [self.pullRefresh finishRefreshingSuccessully:YES];
}

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    [self.pullRefresh updateWHenScrollDidEndDraging];
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [self.pullRefresh updateWhenScrollviewScroll];
}
-(void)DidStartRefreshingWithScrollview:(UIScrollView *)scrollview{
    [self performSelector:@selector(reset) withObject:nil afterDelay:2.0];
}

@end

后续

如果发现bug,请在本博客留言,或者email: [email protected]

时间: 2024-07-31 16:07:44

开发IOS库之下拉刷新-WCPullRefreshControl的相关文章

iOS开发之下拉刷新,上拉加载更多

iOS开发之下拉刷新和上拉加载更多 1.简介(在我们常见的app中都有上拉以及下拉的操作,比例QQ,微信...所以上拉以及下拉的开源库比较多 上拉下拉开源库下载) 常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTableViewRefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 (一般情况不要自己实现,竟然有了没必要) 2.AH3DPullRefresh的使用 AH3DPullRefresh 也是一个上拉下拉开源库.使用

iOS开发之下拉刷新和上拉加载

iOS开发之下拉刷新和上拉加载 1.简介 常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTableViewRefresh (3)AH3DPullRefresh  (本文实例所用) (4)MJRefresh (5)自己实现 2.效果图 下拉刷新 上拉加载 3. 代码实现过程 3.1 首先添加AH3DPullRefresh到工程中, 设置UIScrollView+AH3DPullRefresh.m文件为非ARC(加入 -fno-objc-arc) 在需要添加下拉刷新的

【FastDev4Android框架开发】RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout(三十一)

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息]个人网站已经上线运行,后面博客以及技术干货等精彩文章会同步更新,请大家关注收藏:http://www.lcode.org 话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比ListView,GridVi

iOS 上拉下拉刷新

1 把李明杰的MJRfresh文件夹拖到工程中 2 然后引入头文件 3 在.m 文件中设置两个变量 4 在viewDidLoad里调用两个方法 5 实现需要调用的两个方法 iOS 上拉下拉刷新,布布扣,bubuko.com

App列表之下拉刷新

Android的ListView是应用最广的一个组件,功能强大,扩展性灵活(不局限于ListView本身一个类),前面的文章有介绍分组,拖拽,3D立体,游标,圆角,而今天我们要介绍的是另外一个扩展ListView:下拉刷新的ListView.    下拉刷新界面最初流行于iphone应用界面,如图: 然后在Android中也逐渐被应用,比如微博,资讯类.    所以,今天要实现的结果应该也是类似的,先贴出最终完成效果,如下图,接下来我们一步一步实现. 1. 流程分析    下拉刷新最主要的流程是

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

1.简介 常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTableViewRefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 2.UIScrollView+PullLoad的使用 2.1 效果图 下拉刷新效果图: 上拉加载更多效果图: 2.2 实现 第一步, 首先添加UIScrollView+PullLoad.m到工程中, 设置UIScrollView+PullLoad.m文件为非ARC(加入 -fno-objc-arc

android 之下拉刷新

一.概述 Android 下拉刷新几乎是每个应用都必带的功能, 并且现在下拉刷新第三方库也越来越多了,很方便就能实现该功能, 下面我介绍一下 自己常用的几个方法. 二.例子 第一种方式:就是集成ListView实现自定义控件完成上下拉刷新 public class PullToRefreshListView extends ListView implements OnScrollListener, OnClickListener { /** * 下拉状态 */ private static fi

Android UI之下拉刷新上拉刷新实现

在实际开发中我们经常要用到上拉刷新和下拉刷新,因此今天我写了一个上拉和下拉刷新的demo,有一个自定义的下拉刷新控件 只需要在布局文件中直接引用就可以使用,非常方便,非常使用,以下是源代码: 自定义的ListView RTPullListView 1 package com.ryantang.pulllistview; 2 3 import java.util.Date; 4 5 import android.content.Context; 6 import android.util.Attr

iOS MJRefresh下拉刷新 上拉加载(可添加gif图版) 小结

1.首先去github上下载最新版 MJ刷新库 下载MJ链接 2.tableVIew中加入相关代码 _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, MCAPPWidth, MCAPPHeight - 64)]; _tableView.backgroundColor = myClearColor; _tableView.separatorStyle = UITableViewCellSeparatorStyleNon