网上各种办法都试了,只有这种解决方法解决了我的问题,记录一下

通过延迟 1s后,再来请求接口

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view.

self.currentPage = 1;

if (@available(iOS 11.0, *)) {

self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

} else {

self.tableView.translatesAutoresizingMaskIntoConstraints = false;

}

[self addHeaderMJ];

[self addFooterMJ];

[self loadTopicDetailListWithLastID:@""];

}

#pragma mark - 懒加载 tableView

-(ZBS_YKZL_TableView *)tableView{

if (_tableView == nil) {

ZBS_YKZL_TableView *tableView = [ZBS_YKZL_TableView contentTableViewWithFrame:CGRectMake(0, 0, Screen_Width, Screen_Height-JYEStatusAndNavigationBarHeight64)];

[self.view addSubview:tableView];

_tableView = tableView;

}

return _tableView;

}

#pragma mark -刷新界面和加载更多

- (void)addHeaderMJ{

//下拉刷新

MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refreshData:)];

[header setTitle:@"" forState:MJRefreshStateIdle];

[header setTitle:@"松开即刷新" forState:MJRefreshStatePulling];

[header setTitle:@"刷新中..." forState:MJRefreshStateRefreshing];

header.lastUpdatedTimeLabel.hidden = YES;

self.tableView.mj_header = header;

[self.tableView.mj_header beginRefreshing];

}

- (void)addFooterMJ{

//上拉加载

MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(downloadNewData:)];

[footer setTitle:@"" forState:MJRefreshStateIdle];

[footer setTitle:@"松开即加载" forState:MJRefreshStatePulling];

[footer setTitle:@"加载中..." forState:MJRefreshStateRefreshing];

self.tableView.mj_footer = footer;

}

//刷新数据

- (void)refreshData:(MJRefreshNormalHeader *)header {

self.currentPage = 1;

if (self.modelListArray.count) {

[self.modelListArray removeAllObjects];

}

[header beginRefreshing];

[self performSelector:@selector(delayRefresh) withObject:nil afterDelay:1];

//    [self loadTopicDetailListWithLastID:@""];

}

-(void)delayRefresh{

[self loadTopicDetailListWithLastID:@""];

}

//加载数据

- (void)downloadNewData:(MJRefreshAutoNormalFooter *)footer {

self.currentPage++;

ZBS_YKZL_TableViewModel *model = [self.modelListArray lastObject];

NSString *lastID = model.ID;

[footer beginRefreshing];

[self loadTopicDetailListWithLastID:lastID];

}

--------------------------------------------------------------------------------------------

iOS gif图显示问题

转载:https://www.cnblogs.com/AliliWl/p/4895285.html

ios MJRefresh 上拉死循环刷新问题+git 图片的更多相关文章

  1. iOS MJRefresh上拉加载更多

    1.导入MJRefresh包 2.在类中引入:#import "MJRefresh.h" 3.添加footerView 添加加载更多的UI样式: MJRefreshAutoNorm ...

  2. iOS MJRefresh下拉、上拉刷新自定义以及系统详细讲解

    更新: MJRefresh 更新功能,默认根据数据来源 自动显示 隐藏footer,这个功能可以关闭 DoctorTableView.mj_footer.automaticallyHidden = N ...

  3. iOS MJRefresh下拉刷新(上拉加载)使用详解

    下拉刷新控件目前比较火的有好几种,本人用过MJRefresh 和 SVPullToRefresh,相对而言,前者比后者可定制化.拓展新都更高一点. 因此本文着重讲一下MJRefresh的简单用法. 导 ...

  4. MJRefresh(上拉加载下拉刷新)

    整理自:https://github.com/CoderMJLee/MJRefresh#%E6%94%AF%E6%8C%81%E5%93%AA%E4%BA%9B%E6%8E%A7%E4%BB%B6%E ...

  5. HBuilder/Mui开发ios使用上拉刷新导致滚动条无法使用的解决方法

    HBuilder/Mui开发的APP使用上拉刷新,当滚动到底部是会触发上拉刷新,加载更多数据.但是ios上确是一个坑,导致滚动条无法滚动. 解决方法 放弃Mui的上拉刷新,自己使用JS实现. var ...

  6. 【已解决】iOS11使用MJRefresh上拉加载结束tableView闪动、跳动的问题

    更新提示: [2018年11月20日更新] 经过放置在项目中运行发现,如果在快速滚动tableview的时候会在下面这行代码中崩溃(慢慢的滚动是没关系的-): CGFloat cellHeight = ...

  7. ios开发之--MJRefresh上拉加载的时候,tableview会向上偏移

    1,出现这种情况的原因: 这个应该是UITableView最大的改变.我们知道在iOS8引入Self-Sizing之后,我们可以通过实现estimatedRowHeight相关的属性来展示动态的内容, ...

  8. iOS开发之--iPhone X 适配:MJRefresh上拉加载适配

    问题如下图: 出现原因,phoneX系列手机下方多了34像素的工作区域,所以需要对x全系列手机坐下适配, 解决如下: self.tableView.mj_footer.ignoredScrollVie ...

  9. 关于ios手机上拉和下拉到底部和顶部的橡皮筋问题

    之前遇到一个问题,就是写了一个正常的移动端首页,底部是导航,上面的是内容,在安卓手机是页面滑动到底部的时候,不会再滑动的,但是问题就出现在ios手机中.页面正常布局是,导航是position:fixe ...

  10. iOS Safari 上加载的最大的图片尺寸

    做WAP端项目时发现, 写css代码显示图片, 却显示不出.或用canvas 来加载图片的某一部分的时候显示不出, 代码如下: background: url() no-repeat -1000px ...

随机推荐

  1. 前端之Vue day07 混入、插件、elementui、Router、Vuex

    一.Props补充 1.父传子在子组件标签上起自定义属性 使用数组 就不演示了,太简单了 2.限制传入的数据类类型 使用对象 同样,展示过的 3.props补充 就是套对象,加以限制 props:{ ...

  2. ssh远程执行命令无法使用awk的问题

    ssh执行远程命令,当使用到awk的时候总是报错,而sed和grep都没有问题 awk不支持远程执行.最近经过测试找到了解决此问题的方法. 举例:ssh 目标IP " awk '{print ...

  3. mongodb-命令小结

    小白暂时在这里记录些涉及到的 在某条记录添加一个字段: 先查询_id: db.subscriptions.find({"channel":"parking.notify. ...

  4. seata数据源代理

    seata数据源代理流程 1-SeataDataSourceAutoConfiguration 创建SeataAutoDataSourceProxyCreator对象,默认seata模式为AT 2-S ...

  5. Java基础——IO模型详解

  6. MCU构成及其运行原理

    MCU构成及其运行原理 1. MCU概念 MCU,微控制单元(Microcontroller Unit) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中 ...

  7. C++快速求解最大公因数 | gcd库函数

    1.介绍 gcd全称 :greatest common divisor 使用 __gcd( int x1, int x2 ) 函数可以高效.迅速得到x1, x2两个数的最大公因数.省去手写底层代码,专 ...

  8. 本地搭建JupyterNotebook开发环境

    背景 Jupyter 是一款优秀的编程语言运行环境包括Hub.Lab.Notebook等优秀自项目,JupyterNotebook是衍生的在线交互运行平台的前端项目 环境 Windows 11 Nod ...

  9. C#中DataTable新增列、删除列、更改列名、交换列位置

    一.新增列 1.1.新增列 /*新增列*/ dataTable.Columns.Add("列名称", Type.GetType("数据类型")); /*比如添加 ...

  10. rabbitMQ queue属性

    Map<String, Object> args = new HashMap<String, Object>(); args.put("x-message-ttl&q ...