MJRefresh实现动画下拉刷新

UI - 自定义MJRefresh动画 , 自定义布局 MJRefresh框架在大部分中的项目中都能见到 , 但是随时用户体验意识的增强 , 越来越多的需求被提出 . 已不完全满足于在上拉或者下拉提示简单的文字了 . 经常我们看见越来越多的App用到加载动画 .而以上的需求 , 在github上已经有全面的使用说明了 , 而唯一缺少的是自定义布局动画效果, 直接上代码吧 查看框架类 —>MJRefreshGifHeader , 继续查看继承关系 , 阅读详情

项目中需要使用下拉的动画效果,MJ上的是图片在左,文字在右(而且没有样式选择),我们需要的是图片在上文字在下,我们只需要继承MJRefreshGifHeader,即可修改样式。
gif

代码:

-(void)prepare{
    [super prepare];

    // 设置普通状态的动画图片
    NSMutableArray *idleImages = [NSMutableArray array];
    for (NSUInteger i = 1; i<=60; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];
        [idleImages addObject:image];
    }
    [self setImages:idleImages forState:MJRefreshStateIdle];

    // 设置即将刷新状态的动画图片(一松开就会刷新的状态)
    NSMutableArray *refreshingImages = [NSMutableArray array];
    for (NSUInteger i = 1; i<=3; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_loading_0%zd", i]];
        [refreshingImages addObject:image];
    }
    [self setImages:refreshingImages forState:MJRefreshStatePulling];
    [self setImages:refreshingImages forState:MJRefreshStateRefreshing];


    self.lastUpdatedTimeLabel.hidden = YES;
        self.stateLabel.hidden = NO;
    self.stateLabel.textColor = [UIColor blackColor];
    self.mj_h = 80;
}

//在这修改图片和label的位置
- (void)placeSubviews
{
    [super placeSubviews];
    self.gifView.contentMode = UIViewContentModeCenter;

    //调整图片的位置
    CGRect labelframe = self.stateLabel.frame;
    labelframe.size.height = 15;
    labelframe.origin.y = self.bounds.size.height - 20;
    self.stateLabel.frame = labelframe;
    CGPoint center = self.center;
    center.y = CGRectGetMinY(self.stateLabel.frame) - self.gifView.mj_h / 2.0;
    self.gifView.center = center;
}
iOS开发-下拉刷新动画loading旋转指示器动画效果 iOS开发-下拉刷新动画loading旋转指示器动画效果,使用mjrefresh一个好用的上下拉刷新的控件。实现CABasicAnimation基础效果,根据不同的mjrefresh下拉刷新操作来执行动画效果 阅读详情

相关推荐

swift-MJRefresh下拉刷新,上拉加载(分页)

// // BannerViewController.swift // iosTest // // import UIKit import SwiftyJSON import Alamofire import MJRefresh //实现SliderGalleryControllerDelegate接口 class BannerViewController: UIViewControlle...

wa172126691的博客 7531

利用MJRefresh 完成下拉出gif动画刷新

转自:http://www.tuicool.com/articles/v2Qni2 MJRefresh 是一个用法简单的下拉刷新框架,所以用它来完成gif动画的刷新也是很简单。 先看下需要用到的属性 @property (nonatomic,strong) NSArray *datasArray; @property (nonatomic,strong) UITableV

zhanglizhi111的博客 1311

MJReFresh_动画刷新案例

MJ table 动画刷新 只是提取一下 MJ gitHub上的代码,为了方便使用

iOS-自定义MJRefresh下拉刷新动画

前段时间发现天虹旗下”红领巾”app的下拉刷新动画挺有趣,重新仿写了一个;见动画效果;代码实现如下MJRefreshGifHeader继承自MJ中的MJRefreshGifHeader#import "MJRefreshGifHeader.h"@interface CustomRefreshGifHeader : MJRefreshGifHeader/** 设置state状态下的动画图片images

飞不越的疯人院 2932

iOS利用MJRefresh实现自定义刷新动画效果

本文主要介绍iOS 利用MJRefresh实现自定义动画的上拉刷新下拉加载效果,要想实现此功能,首先得有一套load的图片数组。接下来通过本文给大家详解介绍实现过程

ios基于MJRefresh实现上拉刷新和下拉加载动画效果

本文介绍了ios基于MJRefresh实现上拉刷新和下拉加载动画效果,分享给大家,具体如下: 目录 1、 头部刷新动画 2、尾部刷新动画 头部刷新动画 #import <MJRefresh> @interface HZNormalHeader : MJRefreshGifHeader @end #import HZNormalHeader.h @implementation HZNormalHeader #pragma mark - 重写父类的方法 - (void)prepare{ [super prepare]; // 设置普通状态的动画图片

MJ上下拉刷新时头尾部自定义gif图版

- (void)gif { NSMutableArray *idleImages = [NSMutableArray array]; //这块为你刷新时出现的gif图 需要循环添加到数组中 for (NSUInteger i = 1; i UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:

myuantao3286286的博客 2658

海康视觉相机驱动软件MVS参数配置全攻略(附接线图+避坑指南)

本文提供了海康视觉相机驱动软件MVS从硬件连接到软件参数配置的完整指南。详细解析了供电与通讯线缆的区分、PNP/NPN信号逻辑的接线避坑方法,并重点阐述了MVS软件中触发模式、网络IP配置、图像采集及光源控制等核心参数的设置技巧,旨在帮助用户快速完成相机调试,实现稳定高效的图像采集。

weixin_29204205的博客 389

iOS MJRefresh 自定义刷新动画

项目开发中用了MJRefres 刷新控件,但是MJRefresh默认的加载样式感觉比较丑,产品觉得需要换个样式,弄的简洁一点。于是着手看了一下MJRefresh的源码,发现其提供了修改样式的方法。 从MJRefresh的继承图谱来看,带动画的下拉刷新类为:MJRefreshGifHeader,带动画的上拉刷新类为:MJRefreshBackGifFooter。我们只需要分别继承这两个类,然后把加载动画的功能重写一下就可以实现了。自己重新创建一个类:HSRefreshGifHeader,继承 MJRefres

长沙火山 2632

RNA 8. SCI文章中差异基因表达--热图 (heatmap) 进阶:从数据标准化到多维度注释

本文深入探讨了RNA差异基因表达分析中热图(heatmap)的进阶应用,从数据标准化到多维度注释。详细介绍了FPKM标准化、Z-score转换等关键技术,以及pheatmap包的高级注释功能,帮助研究者制作发表级热图。文章还提供了视觉优化策略和生物学意义衔接的实用建议,助力SCI论文的数据可视化。

weixin_29051149的博客 301

数据清洗(Data Cleansing)

数据清洗(Data Cleansing)是指对数据进行处理和纠错,以去除或修复数据集中存在的错误、不致、不完整和冗余的数据,从而使数据更加准确、可靠和有用。数据清洗是数据处理和数据分析中一个非常重要的步骤,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。数据清洗是一个重要的过程,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。在实际应用中,我们可以使用一些工具和技术来实现数据清洗,例如 Pandas、NumPy 和 OpenRefine 等。通过数据清洗,

meimei169500的博客 1万+

MJRefresh与SwiftUI动画完美结合:使用withAnimation实现平滑下拉刷新

在iOS应用开发中,下拉刷新是一个至关重要的用户体验功能。MJRefresh作为最受欢迎的下拉刷新解决方案之一,为开发者提供了简单易用的接口。当与SwiftUI的现代动画系统结合时,特别是使用`withAnimation`修饰符,可以创造出流畅自然的刷新过渡效果。 ## 🔄 为什么选择MJRefresh进行下拉刷新? MJRefresh是一个轻量级、高度可定制的下拉刷新框架,支持多种刷新样式

gitblog_01161的博客 795

阿里云网络架构设计

背景 一个企业上云,首先要考虑整个网络的规划,涉及到云上和云下的网络规划,云上VPC的规划,云上不同地域VPC的互通,云上可用区的选择等等,所以一定要提前规划好整体的网络架构,现在阿里云云上的虚拟化网络解决方案已经完全转向 了云企业网,所以所有使用阿里云的企业客户多多少少都会使用阿里云的CEN 支撑自己的业务。 云企业网介绍 云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络。 IDC专线接入CEN 首先面临的是云上和云下打通,那么

修电脑的码农 4837

终极指南:使用MJRefresh快速实现Snapchat风格的下拉刷新动画

**MJRefresh**是一个简单易用的iOS下拉刷新组件,让开发者能够快速为UITableView、UICollectionView等滚动视图添加优雅的刷新功能。这个强大的开源库支持多种刷新样式,包括下拉刷新、上拉加载、自动刷新等,并且完全支持Swift和Objective-C。在前100个字内,我们介绍了MJRefresh的核心功能:它是一个iOS下拉刷新组件库,提供简单易用的API,支持多

gitblog_00352的博客 960

VH6501实战:手把手教你用CANoe脚本精准触发CAN总线干扰(附避坑点)

本文详细介绍了使用VH6501和CANoe脚本精准触发CAN总线干扰的实战技巧,包括触发位置控制、ValidityMask配置和干扰序列设置等关键步骤。通过具体代码示例和常见问题排查指南,帮助工程师避开实际应用中的常见陷阱,提升CAN总线干扰测试的准确性和效率。

weixin_33709219的博客 369

基于 STM32 的全自动洗车监控系统设计与实现

本文提出一种基于 STM32F103RCT6 芯片的全自动洗车监控系统方案,通过多传感器融合与智能控制算法,实现车辆检测、洗车流程自动化及状态远程监控。系统集成硬件选型、电路设计、软件流程及通信功能,可广泛应用于智能洗车场景。

weixin_42300449的博客 964

Maestro 从入门到贡献的完整指南:5 分钟写通移动端与网页 UI 自动化测试

Maestro 是一个面向 Android、iOS 与 Web 的开源 UI 和端到端测试框架。用 YAML 写 `launchApp`、`tapOn`、`assertVisible` 这样的步骤,就能在模拟器、真机或浏览器上跑通测试。下面按"装好 → 写对 → 跑稳 → 改源码"的顺序,给出可直接落地的做法。 ## 三步装好 Maestro CLI 1. 确认 Java 版本。Maestro

gitblog_00235的博客 957

Allegro如何用自带的功能将线段变成铜皮操作指导

在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图。勾选Delete original objects。如何用自带的功能将线段变成铜皮操作指导。勾选Convert to shape,需要把这段走线变成铜皮。

weixin_54787054的博客 2945

在MJRefresh的基础上实现动画的自定义和自动下拉刷新

1.提前准备: (1)TYDotIndicatorView https://github.com/itouch2/TYDotIndicatorView.git (2) MJRefresh https://github.com/CoderMJLee/MJRefresh.git (3) XHToast https://github.c...

diab16244的博客 337

大学生作业:80C51存储器数据传输实验:基本指令和数据传送

大学生作业:80C51存储器数据传输实验,报价 200 文章目录实验一、80C51存储器数据传输实验实验目的:实验内容一:基本指令实验内容二:数据传送 实验一、80C51存储器数据传输实验 实验目的: 熟悉软件的集成开发环境 掌握单片机软件设计流程,掌握存储器结构及各窗口之间的联系 掌握内部数据存储器、外部数据存储器的数据传送特点和应用; 实验内容一:基本指令 用三种方法实现将累加器A内容改为20H ORG 0000H LJMP MAIN ORG 0030H MAIN: ;方法一使用寄

weixin_54707168的博客 5099

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

终极iOS下拉刷新定制指南:MJRefresh与SVPullToRefresh实用技巧

TimLiu-iOS是iOS开发常用三方库、插件、知名博客等资源的集合项目,为开发者提供了丰富的开发工具和学习资料。本文将聚焦于iOS开发中常用的下拉刷新功能,详细介绍如何使用MJRefresh与SVPullToRefresh两个优秀的库来实现定制化的刷新效果。 ## 为什么选择MJRefresh? MJRefresh是一个功能强大的下拉刷新库,它的最大特点是使用简单,仅需一行代码就可以为UI

gitblog_00539的博客 1044

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

iOS开发终极指南:如何用MJRefresh实现小红书风格的下拉刷新

想要为你的iOS应用添加像小红书那样流畅优雅的下拉刷新功能吗?MJRefresh是iOS开发中最受欢迎的第三方下拉刷新库,它提供简单易用的API和丰富的自定义选项,让你轻松实现专业级的下拉刷新体验。作为一款功能强大的开源组件,MJRefresh已经帮助数百款App提升了用户体验。 [![项目logo](https://raw.gitcode.com/gh_mirrors/mj/MJRefresh

gitblog_00892的博客 868

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

php下拉刷新代码,玩转MJRefresh下拉刷新自定义动画

MJRefresh由小码哥开发,是目前iOS下拉刷新、上拉加载比较火的控件之一,有着超高的人气。本文主要介绍基于MJRefresh自定义下拉刷新动画。一、MJRefresh架构MJRefresh架构1、使用CocoaPods安装MJRefreshplatform:ios,'7.0'pod'MJRefresh','~>3.1.12'#下拉刷新二、自定...

weixin_42439808的博客 434

菜鸟成长记-MJRefresh自定义刷新样式

  MJRefresh是一款非常好用的三方库,这里我讲讲如何自定义刷新动画  1:导入MJRefresh.h,其实要想学会一个三方库的大致使用,你得找到一个主文件,进去看里面包含那个头文件,好一点的作者取名都是具有含义的,可以根据类名大致猜出这个类的作用。 #import "MJRefreshNormalHeader.h" #import "MJRefreshGifHeader.h" #im...

夜破星辰_JSON的博客 7864

MJRefresh

介绍:A easy way to use pull-to-refresh、用法简单的下拉刷新框架:一行代码搞定 支持控件刷新:UIScrollView、UITableView、UICollectionView、UIWebView 如何使用:手动导入:①将MJRefresh文件夹中的所有文件拽入项目中 ,②导入主头文件:#import “MJRefresh.h”//包含: Base

junfeng09的博客 1175

使用MJRefresh自定义下拉刷新,上拉加载动画

有时候我们需要自己设置下拉刷新,上拉加载动画的实现,这里主要是记录下使用MJRefresh自定义下拉刷新,上拉加载动画..... 下拉刷新我们只需要继承MJRefreshGifHeader即可: 实现代码如下: - (void)prepare{ [super prepare]; self.stateLabel.hidden = NO; self.lastUp...

weixin_30577801的博客 151
上一篇: swift学习笔记(18)- 扩展
下一篇: swift学习笔记(19)- 协议
winterLiao
博客等级 码龄10年 5粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值