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

通过延迟 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. 常见Linux命令二

    常见Linux命令二 一:shutdown命令--用来系统关机命令. 语法:shutdown(选择)(参数) 常见选项:-r:shutdown之后重启 -h:将系统关机 二:reboot命令-- 重新 ...

  2. uni-app学习笔记之----传参、通讯

    1.页面传参 父级页面传递参数到详情页: 详情页得到参数: 打印: 2.组件通信 (1)子组件---->父组件:$emit() (2)父组件---->子组件:props (3)兄弟组件: ...

  3. Python-闭包(Closure)

    一.认识闭包 有时候需要在函数外部得到函数内部的局部变量,但是由于Python作用域的关系,这一点是无法实现的. def f(): n = 22 print(n) #NameError:name 'n ...

  4. john破解linux用户密码

    John是kali-linux自带的密码破解工具,支持密码本破解.Linux的系统账户在/etc/passwd中,密码存于/etc/shadow中. 以下操作为例: (1)创建一个账户,

  5. fsck.fat 检查修复(MS-DOS)fat类型文件系统

    使用方式 fsck.fat [option] DEVICE 例如 fsck.fat -aw /dev/usba0 fsck.fat 检查fat文件系统的一致性,并选择性的尝试修复他们. 如下文件系统问 ...

  6. charles的坑

    https://blog.csdn.net/qq_42191801/article/details/80288804 https://zhuanlan.zhihu.com/p/108960019 1. ...

  7. Unity 获取后缀名

    for(int i = 0;i < files.Length;i++) { if(files[i].Name.EndsWith(".meta")) { continue; } ...

  8. Android移动端性能测试工具mobileperf

    简介:mobileperf是阿里开源的一个python PC 工具,可以收集Android性能数据: cpu.内存.流畅度.fps.logcat日志.流量.进程线程数.进程启动日志,mobileper ...

  9. UART之名词定义@@@(通用异步收发传输器:Universal Asynchronous Receiver/Transmitter),通常称作UART。

    通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.它将要传输的资料在串行通信与并行通信之间加以转换.作为把并行输入信号转成 ...

  10. centos8.5安装kvm及kvm虚拟机的端口映射问题

    1.安装KVM   grep -Ei 'vmx|svm' /proc/cpuinfo|more  #查看硬件是否支持虚拟化 yum install -y virt-* libvirt qemu-img ...