Code Monkey home page Code Monkey logo

mjrefresh's People

Contributors

520dev avatar batkov avatar codermjlee avatar csc-ericwu avatar ftp27 avatar godera avatar gosicfly avatar hyolveun avatar itofu avatar jessecoding avatar jianyeee avatar jiasongs avatar jjksam avatar jonyfang avatar k6f avatar kinarobin avatar russellyi avatar shicang1990 avatar sinkup avatar sxdxzkq avatar unknown-undefined avatar vancucit avatar vincentsit avatar wenchaod avatar wimbledon avatar wolfcon avatar xingheng avatar yutinglei avatar zld avatar zwf 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  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

mjrefresh's Issues

如果不想要那个上拉时的时间

产品经理说要简洁,给那个时间也没有用户去关注到底上次的刷新是什么时候,所以要我取消那个时间,我觉得这个时间应该有个枚举值,分为 有时间的label和只有状态的label. 因为我屏蔽了时间的label的代码时,高度没有和那个刷新圆圈对齐,费了好大的劲才改了样式

被坑了吗,用block方式controller一直不能被释放

用block方式controller一直不能被释放

/**

  • 刷新控件
    */

  • (void)setupRefresh
    {
    __weak __typeof(&*self)weakSelf = self;
    [self.tableView addHeaderWithCallback:^{

    //加载数据
    [weakSelf refreshTableView:YES];
    [weakSelf.tableView headerEndRefreshing];
    }];

[self.tableView addFooterWithCallback:^{
[weakSelf refreshTableView:NO];
[weakSelf.tableView footerEndRefreshing];
}];
}

以上是我用的方式,然而我的controller却不能被释放了,换回delegate方法一切正常。

能用这个框架实现对普通UIViewController的刷新吗?

MJ您好,在项目中用了你的MJRefresh感觉很方便,但不知这个框架能不能对普通UIViewController进行刷新呢,实现像对TableView进行上拉,下拉时的效果。这要很多页面中就不需要加个刷新按钮了。
谢谢了。

[bug] 下拉刷新过程中滚动tableview会导致第二个section悬空

我的tableview有两个section,第二个section的header有标题,滚动的时候这个header会一直显示紧贴navigator bar。现在刷新的时候,滚动table,第二个section的header会悬空,跟navigator bar有一段距离,table cell的内容从这个header下面穿过去了。这应该是个bug吧?

找不到header

我用的scrollView,为什么end之后header不显示了,用的auto layout。

回调方法错误

objc_msgSend(msgTarget(self.beginRefreshingTaget, self.beginRefreshingAction, self);

原因:
Too many arguments to function call, expected0, have3.

国际化

MJRefreshConst中文字有办法国际化吗?

快速下拉crash

控件快速下拉,当拉到最下面的时候,程序会crash。

MJRefreshHeaderView.m Crash

MJRefreshHeaderView.m中
当我用 UICollectionView 时
第一次有数据
刷新后
当数据源请求返回为空时,

            // 保存刷新时间
            [UIView animateWithDuration:MJRefreshSlowAnimationDuration animations:^{
                self.scrollView.contentInsetTop = self.scrollViewOriginalInset.top;
            }];

这一句会Crash

缺少分页功能

现在使用了一下,一般使用上提刷新是想获取分页的数据,现在不支持分页,无法获取当前是哪页,而且如果当这页没数据时也没显示已到底这样的标识。
希望能支持翻页功能。谢谢

头部动态改变

头部的视图内容可以自定义吗?可以动态改变吗?
例如:
部分页面需要加入文字描述,部分页面不需要文字,只需要loading动画。

MJ哥 关于下拉刷新

MJ哥 您好, 我用了你的下拉刷新控件, 如果想让控制器一加载就自动刷新 , 需要将
[self.tableView headerBeginRefreshing]; 放在 [self.tableView addHeaderWithTarget:self action:@selector(refreshStart)]; 后面才能 正常自动 刷新, 这个算不算个小Bug呀

下拉刷新停止bug

多次调用下拉刷新停止方法如下:
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView headerEndRefreshing];
[self.tableView headerEndRefreshing];
[self.tableView headerEndRefreshing];
[self.tableView headerEndRefreshing];
});
会导致tableView整体上移。

pod MJRefresh   少了几个文件

MJRefreshGifFooter.h MJRefreshGifFooter.m
MJRefreshGifHeader.h MJRefreshGifHeader.m 这几个文件都不存在 下载的zip 包中还是存在的。但但是pod自动导入 没有这几个文件

可不可以不显示最后更新时间?

MJ老师您好!
库中提供了这两个方法:

  • (void)addHeaderWithCallback:(void (^)())callback;
  • (void)addHeaderWithCallback:(void (^)())callback dateKey:(NSString*)dateKey;
    先以为第一个方法不会显示时间,第二个会显示更新时间。但却是两个都要显示更新时间。有没有方法可以设置不显示更新时间呢?

还有,MJ老师,这个除了可以自定义刷新时的文字,还可以自定义刷新时的headerView么?比如像SVPullToRefresh一样有这样的方法:
[scrollView.pullToRefreshView setCustomView:label2 forState:SVPullToRefreshStateTriggered];
[scrollView.pullToRefreshView setCustomView:label3 forState:SVPullToRefreshStateLoading];
[scrollView.pullToRefreshView setCustomView:label1 forState:SVPullToRefreshStateStopped];
这个刷新库用起来非常方便,就是可自定义的东西比较少,持续关注

注册刷新控件问题

[self.tableView registerClass:[RecommedTableViewCell class] forCellReuseIdentifier:@"identifier"];

如果执行了这行,刷新的数据能重新下载下来,但是界面是空白的。
注释了 反而正常的。
这行代码可以不写吗?

ios8编译的一些错误与警告

MJRefreshHeaderView.m (warning)

NSUInteger unitFlags = NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit |NSHourCalendarUnit |NSMinuteCalendarUnit;

修改为

NSUInteger unitFlags = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay |NSCalendarUnitHour |NSCalendarUnitMinute;

MJRefreshBaseView.m (error)

objc_msgSend(self.beginRefreshingTaget, self.beginRefreshingAction, self);

改为

((void(*)(id, SEL, id))objc_msgSend)(self.beginRefreshingTaget, self.beginRefreshingAction, self);

使用demo的时候报警告

[self performSelector:NSSelectorFromString(self.method) withObject:nil];

performSelector may cause a leak because its selector is unknown

一点小bug

如果当前控制器的automaticallyAdjustsScrollViewInsets为yes,并且生效的时候。如果正在刷新状态中,点击cell进入下个控制器,再pop回来的时候tableview的contentinset的top会变成128。您可以将navigation bar的背景图片去掉后,这个automaticallyAdjustsScrollViewInsets就生效了。然后就会出现我说的这种情况

下拉刷新删除全部数据的话崩溃

当在tabVIew 里在下啦刷新的方法里把所有数据全部删除的话,程序会崩溃;或者把所有数据全部删除,在从网络异步获取的话也会出问题。
*** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit/UIKit-2935.138/UITableView.m:6509

点击事件调用headerBeginRefreshing Top 值还是会不断累加

//self.scrollView.mj_contentInsetTop -= self.mj_height;
改为 即可
self.scrollView.mj_contentInsetTop = self.scrollViewOriginalInset.top;

事件还原
循环点击某个Item 项然后执行
headerBeginRefreshing
完成之后 调用
headerEndRefreshing
Top会不断累加

杰哥,我gitHub用的比较菜,这里有俩意见

1.nav后面的刷新控件在停止刷新时(didFinishRefresh),最好,alpha = 0
在willBeginRefresh的时候,alpaca = 1即可

2.可以增加接口.自定义不同的下拉动画和刷新动画,可以传入图片数组or自定义的Gif图

杰哥,我gitHub用的比较菜,会加油帮忙完善框架的

非ARC项目使用此库出现无法释放的问题

image
已设置强制使用ARC选项,大概流程是这样

MainView -> loadTableView(with MJRefresh)

MainView -> [_tableView removeFromSuperView];

_tableView dealloc not called.

image

如果注释addHeader和addFooter则可以正常dealloc

下拉刷新页面闪烁

下拉刷新时,如果动作幅度比较大,不等scrollview停止滑动即松手刷新,会发现页面闪烁

在MJRefreshHeaderView.m的observeValueForKeyPath监听MJRefreshContentOffset

NSLog(@"%f", self.scrollView.mj_contentOffsetY);

会发现offset持续变小后突然变为-64,然后再变小,最后维持在-64

我修改了一下

} else if (self.state == MJRefreshStatePulling) {// 即将刷新 && 手松开
// 开始刷新
CGFloat top = self.scrollViewOriginalInset.top + self.mj_height;
if (currentOffsetY >= -top) {
self.state = MJRefreshStateRefreshing;
}
}

在设置状态变为MJRefreshStatePulling的时候判断下当前offset是否已经大于
header高度,在这个条件满足的情况下刷新就不会出现offset突变为-64再变小的问题了

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.