GithubHelp home page GithubHelp logo

corerefresh's Introduction



CoreRefresh(关注信息公告牌

核心上拉下拉刷新控件,专业、高性能、个性化,与众不同!创意灵感来自iPad版本的土豆和淘宝!

.Xcode 6.0

.Objective-C




框架特性

1.完全重写了头部刷新控件,头部刷新控件个性化,你再也不用因为看到其他应用使用的是和你一样的顶部刷新控件而尴尬。
2.底部刷新控件由滑动自动触发,不需要你使劲拉,不需要点击。
3.高度优化了头部刷新的性能,底部刷新控件的性能,我在iphone4测试十分流畅,很多大公司刷新控件一拉卡卡的,就是没处理好性能的问题。
4.删除了所有复杂的调用,本框架一键安装,支持自动刷新,你只需在业务中给控件对应的state即可,其他全部由控件完成!
5.本框架支持ios6及以上,横竖屏,支持TableView及CollectionView。
6.高性能、易使用、人性化。
7.本框架是大型框架列表终结者的核心组成部分之一!
8.本框架基于MJRefresh。向原作者致敬。




效果演示

1. 自动触发顶部刷新

image

2. 手动拖拽触发顶部刷新

image

3. 用户过度拖拽触发顶部APP广告

image

注:请在CoreHeaderView.xib中的adView自定义您的广告内容,因为广告可能是文字,也可能是图片,还可能是其他复杂内容,所以预留Xib给您自定义。

adView会在scrollView的ContentOffset改变中实时隐藏和显示,请一定要加在adView里面,不然可能会穿透导航栏显得不好看。



4. 全自动的底部刷新,再也不需要手动拖拽!

image




使用说明


#### 1.请拖拽CoreRefresh文件夹到您的项目

注:请注意CoreRefresh的核心**是基于状态的控件,想要功能,请指定对应状态。

2. 安装控件

//添加顶部刷新控件
[self.tableView addHeaderWithTarget:self action:@selector(headerRefresh)];
//添加底部刷新
[self.tableView addFooterWithTarget:self action:@selector(foorterRefresh)];

3. 自动触发顶部刷新

[self.tableView headerSetState:CoreHeaderViewRefreshStateRefreshing];

4.各种状态指定

//顶部刷新失败
[self.tableView headerSetState:CoreHeaderViewRefreshStateRefreshingFailed];
//底部无数据
[self.tableView footerSetState:CoreFooterViewRefreshStateSuccessedResultNoMoreData];

注: 更多状态请参考以下枚举值

//顶部刷新控件状态
typedef enum{
    
    CoreHeaderViewRefreshStateNorMal=0,                                                 //普通状态
    
    CoreHeaderViewRefreshStateReleaseForRefreshing,                                     //松手立即刷新
    
    CoreHeaderViewRefreshStateRefreshing,                                               //刷新中
    
    CoreHeaderViewRefreshStateRefreshingFailed,                                         //刷新失败
    
    CoreHeaderViewRefreshStateSuccessedResultNoMoreData,                                //刷新成功,无更多数据
    
    CoreHeaderViewRefreshStateSuccessedResultDataShowing,                               //刷新成功,数据展示中
    
}CoreHeaderViewRefreshState;


//底部刷新控件状态
typedef enum{
    
    //这就是最普通的状态,并且普通状态是请继续拉动
    CoreFooterViewRefreshStateNormalForContinueDragUp=0,
    
    //请求中
    CoreFooterViewRefreshStateRequesting,
    
    //刷新中
    CoreFooterViewRefreshStateRefreshing,

    //刷新失败
    CoreFooterViewRefreshStateFailed,

    //刷新成功->无更多数据
    CoreFooterViewRefreshStateSuccessedResultNoMoreData,

    //刷新成功->本次的新数据正在展示中(此状态会延时变更为0)
    CoreFooterViewRefreshStateSuccessedResultDataShowing,
    
}CoreFooterViewRefreshState;

corerefresh's People

Contributors

charlinfeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

corerefresh's Issues

CoreHeaderView状态设置问题

-(void)setState:(CoreHeaderViewRefreshState)state
设置状态是时候,如果不匹配switch里的状态变换,将导致后续状态无法正确执行。
建议修改:状态变换匹配后,再更新新状态值。如下:
switch (state) {

    case CoreHeaderViewRefreshStateNorMal://非刷新中状态->普通状态
        if(oldState!=CoreHeaderViewRefreshStateRefreshing) {
            //记录
            _state=state;
            [self stateNorMal];
        }
        break;

    case CoreHeaderViewRefreshStateReleaseForRefreshing://普通状态->松手立即刷新
        if(oldState==CoreHeaderViewRefreshStateNorMal){
            //记录
            _state=state;
            [self stateReleaseForRefreshing];
        }
        break;

    case CoreHeaderViewRefreshStateRefreshing://松手立即刷新->刷新中,特别的在业务中直接从普通状态->刷新中
        if(oldState==CoreHeaderViewRefreshStateReleaseForRefreshing || oldState==CoreHeaderViewRefreshStateNorMal) {
            //记录
            _state=state;
            [self stateRefreshing];
        }
        break;

    case CoreHeaderViewRefreshStateRefreshingFailed://刷新中->刷新失败
        if(oldState==CoreHeaderViewRefreshStateRefreshing){
            //记录
            _state=state;
            [self stateRefreshingFailed];
        }
        break;

    case CoreHeaderViewRefreshStateSuccessedResultNoMoreData://刷新中->刷新成功,无更多数据
        if(oldState==CoreHeaderViewRefreshStateRefreshing){
            //记录
            _state=state;
            [self stateSuccessedResultNoMoreData];
        }
        break;

    case CoreHeaderViewRefreshStateSuccessedResultDataShowing://刷新中->刷新成功,数据展示中
        if(oldState==CoreHeaderViewRefreshStateRefreshing) {
            //记录
            _state=state;
            [self stateSuccessedResultDataShowing];
        }
        break;

    default:
        break;
}

请加个pod。

能不能支持cocoapods呢,这样更新方便。
还有与mj的corerefresh有什么区别呢,这个有什么功能是那边没有的了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.