修改MJRefreshFooterView.m文件中的这个方法

#pragma mark - 状态相关
#pragma mark 设置状态
- (void)setState:(MJRefreshState)state
{
if (_state == state) return;
MJRefreshState oldState = _state;
[super setState:state]; switch (state){ case MJRefreshStatePulling:{
_statusLabel.text = MJRefreshFooterReleaseToRefresh; [UIView animateWithDuration:MJRefreshAnimationDuration animations:^{
_arrowImage.transform = CGAffineTransformIdentity;
UIEdgeInsets inset = _scrollView.contentInset;
inset.bottom = _scrollViewInitInset.bottom;
_scrollView.contentInset = inset;
}];
break;
} case MJRefreshStateNormal:{
_statusLabel.text = MJRefreshFooterPullToRefresh; // 刚刷新完毕
CGFloat animDuration = MJRefreshAnimationDuration;
CGFloat deltaH = [self contentBreakView];
CGPoint tempOffset; int currentCount = [self totalDataCountInScrollView];
if (MJRefreshStateRefreshing == oldState && deltaH > && currentCount != _lastRefreshCount) { tempOffset = _scrollView.contentOffset;
if (_appDelegate.isA) {//A视图:隐藏FooterView
tempOffset.y -= 60;
}else if(!_appDelegate.isA){//B视图:上拉之后显示后面的新数据
tempOffset.y += 60;
}
animDuration = ;
} [UIView animateWithDuration:animDuration animations:^{
_arrowImage.transform = CGAffineTransformMakeRotation(M_PI);
UIEdgeInsets inset = _scrollView.contentInset;
inset.bottom = _scrollViewInitInset.bottom;
_scrollView.contentInset = inset;
}]; if (animDuration == ) {
_scrollView.contentOffset = tempOffset;
}
break;
} case MJRefreshStateRefreshing:{
// 记录刷新前的数量
_lastRefreshCount = [self totalDataCountInScrollView]; _statusLabel.text = MJRefreshFooterRefreshing;
_arrowImage.transform = CGAffineTransformMakeRotation(M_PI);
[UIView animateWithDuration:MJRefreshAnimationDuration animations:^{
UIEdgeInsets inset = _scrollView.contentInset;
CGFloat bottom = MJRefreshViewHeight + _scrollViewInitInset.bottom;
CGFloat deltaH = [self contentBreakView];
if (deltaH < ) { // 如果内容高度小于view的高度
bottom -= deltaH;
}
inset.bottom = bottom;
_scrollView.contentInset = inset;
}];
break;
} default:
break;
}
}

MJ刷新控件MJRefreshFooterView上拉之后收不回来的解决办法的更多相关文章

  1. bootstrop 日期控件 datepicker被弹出框dialog覆盖的解决办法

    筒子们在使用bootstrap的日期控件(datepicker , 现在官网提供的名称叫 datetimepicker)时可能会遇到如上图的问题这是啥原因造成的呢? 答案很简单时输出的优先级造成的(z ...

  2. phpcmsV9中表单向导在js调用里日期控件在IE下报Calendar未定义的解决办法

    最近在phpcmsV9里用表单向导弄个的提交表单,但用了日期和时间类型时,用   <script language='javascript' src='{APP_PATH}index.php?m ...

  3. 点击ViewGroup时其子控件也变成pressed状态的原因分析及解决办法

    这个问题,当初在分析touch事件处理的时候按理应该分析到的,可是由于我当时觉得这块代码和touch的主题不是那么紧密, 就这么忽略掉了,直到后来在这上面遇到了问题.其实这个现象做Android开发的 ...

  4. 【C#】在窗体中水平居中的控件,到了XP下不居中的解决办法

    我时不时会遭遇这个操蛋问题,今天得闲研究了一下,解决如下: A.将窗体FormBorderStyle属性改为Fixed系,当然这会导致用户不能拖拉窗口大小,所以你可能需要B计划↓ B.确保在[VS]中 ...

  5. Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

    Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新 ...

  6. 上拉加载下拉刷新控件WaterRefreshLoadMoreView

    上拉加载下拉刷新控件WaterRefreshLoadMoreView 效果: 源码: // // SRSlimeView // @author SR // Modified by JunHan on ...

  7. android官方下拉刷新控件SwipeRefreshLayout的使用

    可能开发安卓的人大多数都用过很多下拉刷新的开源组件,但是今天用了官方v4支持包的SwipeRefreshLayout觉得效果也蛮不错的,特拿出来分享. 简介:SwipeRefreshLayout组件只 ...

  8. 下拉刷新控件(1)PullToRefreshList示例

    有很多控件都可以下拉刷新如,ListView,ExpandableListView,GridView,ScrollView,ViewPager,WebView等, 其中最常见的是ListView.本文 ...

  9. Android PullToRefresh下拉刷新控件的简单使用

    PullToRefresh这个开源库早就听说了,不过一直没用过.作为一个经典的的开源库,我觉得还是有必要认识一下. 打开github上的网址:https://github.com/chrisbanes ...

随机推荐

  1. 6.开放-关闭原则(Open-Close Principle)

    1.定义 一个软件实体(如类.模块.函数)应当对扩展开放,对修改关闭. 2.定义解读 在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的.那么如何应对需求变化的情况?这就是开放 ...

  2. jquery获取当前元素的坐标

    jquery获取当前元素的坐标 1,获取对象 var obj = $("#id号"); 或  var obj = $(this); 实例中我获取的对象是弹出窗口按钮,这样创建的新窗 ...

  3. 一个获取文件绝对路径的sh

    脚本里有个获取文件绝对路径的需求,linux里有个很方便的realpath命令,但是mac下没有,甚至readlink -f也跟linux下的表现不同,所以……直接用pwd算了 #!/bin/bash ...

  4. JavaScript代码优化(下载时间和执行速度优化)

    JavaScript代码的速度被分成两部分:下载时间和执行速度. 下载时间 Web浏览器下载的是js源码,因此所有长变量名和注释都回包含在内.这个因素会增加下载时间.1160是一个TCP-IP包中的字 ...

  5. CodeForces 164 B. Ancient Berland Hieroglyphs 单调队列

    B. Ancient Berland Hieroglyphs 题目连接: http://codeforces.com/problemset/problem/164/B Descriptionww.co ...

  6. CodeForces 173E Camping Groups 离线线段树 树状数组

    Camping Groups 题目连接: http://codeforces.com/problemset/problem/173/E Description A club wants to take ...

  7. hdu 1257 小希的迷宫 并查集

    小希的迷宫 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1272 D ...

  8. Java模式(适配器模式)

    今天看了下Java中的适配器模式,下面就来小做下总结和谈谈感想,以便日后使用. 首先,先来先讲讲适配器.适配就是由“源”到“目标”的适配,而其中链接两者的关系就是适配器.它负责把“源”过度到“目标”. ...

  9. GIT GUI的使用(转)

    前段时间跟着Ruby On Rails的toturial玩了一把Git,今天再回过头来,觉得这个版本控制工具真的很不错.下面来讲一下,在windows下如何通过git gui来管理代码. 首先,要在h ...

  10. centos 6.3 搭建git/gitosis/gitweb

    1. git的安装和配置 (1)使用yum源安装git yum install git (2)创建git用户并设置密码 #useradd --home /home/git git #passwd gi ...