[IOS]你用过原生的 UIRefreshControl 吗?

iOS 原生控件UIRefreshControl实现下拉刷新 前言 hihi,勇敢的小伙伴儿们大家好,某些情况下,我们已经做好了刷新的操作,但调用的方式却不太理想,想改成下拉刷新,这时候不想导入MJRefresh这样大的第三方库,只想简单的实现一个下拉刷新的调用方式。该如何快速实现呢? UIRefreshControl了解一下? 这是个原生的下拉刷新的控件,ScrollView已经添加了refreshControl的属性,非常方便好用。 正文 UI... 阅读详情

第三方太过于强大,上拉刷新,下拉刷下,左边,右边,各种刷新,

先介绍几个第三方:

JHRefresh: https://github.com/Jiahai/JHRefresh

可以自定义动画的上、下拉刷新,Demo效果类似大众点评的动画效果,动画是帧动画实现的

那就自备图片组吧 ~ ~ ~



MJRefresh: https://github.com/CoderMJLee/MJRefresh

用法比较简单,同时支持TableView、CollectionView:详情见 github 连接

 


AAPullToRefresh: https://github.com/r-plus/AAPullToRefresh

前面的上拉、下拉,这个可以左拉、右拉,好神奇的东西



TMOTableView:  https://github.com/duowan/TMOTableView

当小伙伴们上拉刷新时,这个的特色是支持点击自动加载,是不是很

人性化。。。。。。  XXX  ~~



当然还有历史久远的。。。貌似元老级的东西。。。

EGOTableViewPullRefresh:  https://github.com/enormego/EGOTableViewPullRefresh


说了强大的第三方后,原生的 UIRefreshControl 变消失与人际。。。

陌陌独自哭泣吧。。。。但是有时我们不要那么强大只要简单的下拉刷新呢。。。

就扯点 UIRefreshControl 的故事。。。

首先,它只能在TableView 下使用,而且你会在 UITableViewController 里发现


具体的使用代码:

    self.refresh = [[UIRefreshControl alloc]init];
    NSLog(@"%.2f %.2f",self.refresh.frame.size.width,self.refresh.frame.size.height);
    self.refresh.tintColor = [UIColor blueColor];
    self.refresh.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];;
    [self.refresh addTarget:self action:@selector(RefreshViewControlEventValueChanged) forControlEvents:UIControlEventValueChanged];
    [self.tableView addSubview:self.refresh];
<pre name="code" class="objc">- (void)RefreshViewControlEventValueChanged{
    NSLog(@"Refresh XXXX");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//        [loadingImageView removeFromSuperview];
        [self.refresh endRefreshing];
    });
}


 跳到头文件会发现,里面的东西少的可怜,UIRefreshControl 的 frame 开始也是默认的,一般也是由它依赖的控制器或View 

来控制,一般是UITableViewController 或TableView, 当下拉时会广播一个 UIControlEventValueChanged 通知

我们可以拿来搞的也就 这么多。。。。。

我们可不可以自定义图片,实现类似果库的下拉动画

发现一个可以加图片的办法,然后找到如下代码,但是系统的那个动画会在图片中间

    loadingImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"loading"]];
    loadingImageView.center = CGPointMake(187.5, 40);
    [self.refresh insertSubview:loadingImageView atIndex:0];
    [self.refresh bringSubviewToFront:loadingImageView];


然后判断只能继承重写UIRefreshControl ,然后又变复杂了。。 。

差不多也该吃饭了。。。找到随后补上吧。。。 Y_Y  ~
   


oc添加下拉刷新 上拉加载 (void)addHeaderRefresh{ /* 系统原生下拉刷新 UIRefreshControl * refresh = [[UIRefreshControl alloc]init]; [refresh addTarget:self action:@selector(refreshDown) forControlEvents:UIControlEventValueChanged]; [r... 阅读详情

相关推荐

【ios】refreshControl控件

本博文主要是对ios中refreshControl控件的一个介绍,以及记录,方便后续使用时候可以直接加载,这边ios开发主要使用语言Objective-C。在iOS中,refreshControl是一个用于下拉刷新的控件。它可以放置在UITableView或UICollectionView的顶部,在用户向下拖拽时触发刷新操作。

weixin_48618536的博客 645

swift 之-下拉刷新框架的使用

下拉刷新汇总:https://www.jianshu.com/p/59ca096f0d05 =========系统自带的refresh======== let con:UIRefreshControl=UIRefreshControl.init(frame: CGRect.init(x: 0, y: 0, width: WIDTH, height: 150)) co...

代码解释生活 4437

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+

UIRefreshControl用法

【官方头文件】 #import #import  #import  NS_CLASS_AVAILABLE_IOS(6_0) @interface UIRefreshControl : UIControl // refreshControl初始化 - (instancetype)init; // 刷新中得状态判断,只读属性

咚咚锵咚锵咚锵 1992

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1202

Python-OPCUA 实现西门子PLC数据批量读写与自动化监控

本文详细介绍了如何使用Python结合OPC UA协议,实现对西门子PLC数据的批量读写与自动化监控。通过搭建开发环境、利用KEPserverEX作为通信桥梁,并配合Python代码实战,读者可以掌握高效的数据采集、批量写入以及构建带报警功能的监控系统的方法,从而大幅提升工业自动化场景下的数据处理效率和系统灵活性。

www00的博客 180

iOS - UIRefreshControl 刷新数据

&#13; 前言 NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIRefreshControl : UIControl 1、UIRefreshControl UITableViewController 自带刷新控件。 使用 StoryBoard 创建的表格视图控制器可在 SB 的 TableVie...

rstbfveradsvc 242

普冉PY32F003定时器实战:从HSE时钟配置到500ms精准闪烁LED(附完整代码)

本文详细解析了普冉PY32F003单片机定时器的实战应用,从HSE时钟配置到实现500ms精准LED闪烁。通过完整的代码示例和深入的技术分析,帮助开发者掌握定时器参数计算、中断优先级管理及调试技巧,适用于各类嵌入式开发项目。

weixin_30608503的博客 450

docker-selenium 发布记录解读:Selenium Grid 4.32.0 的 Chrome 119 镜像标签体系与实战选型指南

本指南以 docker-selenium 仓库中一份真实的历史发布记录([CHANGELOG/archived/4.32.0/chrome_119.md](https://link.gitcode.com/i/9e871c0a600ba018e31cd8b6fdade4fb))为主线,完整解读一次"Chrome 119 + Selenium Grid 4.32.0"镜像的标签生成过程:命令参数如何

gitblog_00463的博客 998

深入解析安卓性能分析工具systrace/atrace的使用技巧与实战场景

本文深入解析了安卓性能分析工具systrace/atrace的核心使用技巧与实战场景。文章澄清了环境搭建的常见误区,详细拆解了命令参数,并通过列表卡顿、启动优化等具体案例,手把手指导开发者利用这些工具精准定位性能瓶颈,提升应用流畅度。

yyy34的博客 239

Python气象数据处理实战:用PyCINRAD轻松绘制雷达PPI图像(附避坑指南)

本文详细介绍了如何使用Python库PyCINRAD处理中国CINRAD系列天气雷达的基数据,并绘制专业的PPI图像。内容涵盖从环境配置、数据读取、核心绘图到高级定制与批量处理的完整流程,并针对安装依赖、中文乱码、数据范围等常见问题提供了实用的避坑指南,帮助气象工作者高效完成雷达数据可视化。

dog123的博客 221

iOS原生refresh(UIRefreshControl)

转载:http://www.2cto.com/kf/201504/392431.html // // ViewController.m // 代码自定义cell // // Created by mac on 15/4/18. // Copyright (c) 2015年 mac. All rights reserved. // #import "ViewControl...

weixin_30363817的博客 135

基于Matlab模拟六自由度Stewart并联机器人运动学逆解

在现代工业和科学领域中,机器人技术的发展已经取得了巨大的进步,为生产和研究提供了许多便利。其中,六自由度Stewart并联机器人是一种广泛应用于各种领域的机器人系统。它具有高精度、高刚度和高可靠性的特点,被广泛应用于飞行模拟器、手术机器人和运动仿真等领域。然而,要使Stewart并联机器人能够实现复杂的运动任务,我们需要了解其运动学逆解。运动学逆解是指根据机器人末端执行器的位置和姿态,计算出各个关节的角度和长度。这对于控制机器人的运动非常重要,因为它可以帮助我们确定机器人各个关节的运动范围和工作空间。

qq_59747472的博客 1126

iOS10.0原生刷新控件UIRefreshControl的简单使用

@available(iOS 10.0, *) open var refreshControl: UIRefreshControl? class ViewController: UIViewController { var scrollView: UIScrollView? overrid...

weixin_34121304的博客 116

手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程

本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 824

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

iOS 下拉刷新终极对决:MJRefresh vs UIRefreshControl 性能深度评测

在iOS应用开发中,下拉刷新功能是提升用户体验的关键组件。MJRefresh作为一款广受欢迎的第三方下拉刷新框架,与系统自带的UIRefreshControl相比,究竟谁能提供更优的性能和开发体验?本文将从功能特性、性能表现和集成难度三个维度进行深度对比,助你快速选择最适合项目需求的下拉刷新方案。 [![MJRefresh框架Logo](https://raw.gitcode.com/gh_mi

gitblog_00346的博客 1130

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

iOS 开发UITableView下拉刷新功能|Objective-C

最近项目内测,又双叒叕提出了新的需求…颤抖.jpg 今天在做iOS的UITableView的下拉刷新功能,在网上查到一些大佬已经封装好的代码,快乐就追上我了…哈哈 传送门:https://github.com/CoderMJLee/MJRefresh 虽然这个已经很好用了,但是…如果大家开发的软件系统在iOS10以上,可以直接使用苹果提供的组件实现,具体步骤如下: 首先在用到UITableView的位置添加以下代码:(这里的_contentTableView就是你希望添加下拉刷新功能的UITable

m0_38051901的博客 795

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SwiftUIRefresh能走多远?SwiftUI下拉刷新深度剖析:List支持边界、LazyVStack局限与iOS 13+适配

SwiftUIRefresh 是一个轻量的 SwiftUI 下拉刷新库,通过一个修饰符就能为 SwiftUI 的 List 添加原生下拉刷新(UIRefreshControl),支持 iOS 13+。本文将从 List 支持边界、LazyVStack 局限、iOS 13+ 适配三个角度,帮你搞清楚它"能用在哪、不能用在哪"。 [![SwiftUIRefresh SwiftUI下拉刷新效果演示](

gitblog_00330的博客 508

IOS6下拉刷新

IOS6SDK 中增加了一个类  UIRefreshControl ,效果是下拉水滴 的,很拉轰,可惜的是,当前IOS6 市场占有率为66% ,也不能因为这个控件好用就不在乎那些不升级的用户的感受,所以,只能采用其他的方式去解决。 这个链接https://github.com/instructure/CKRefreshControl 的作者是 bjhomer //

Crazy Panda 1635

PullToRefresh完全指南:为iPhone应用快速实现下拉刷新功能

PullToRefresh是一个轻量级的iPhone TableViewController组件,专为快速实现下拉刷新功能设计。作为一款经典的iOS开发工具,它提供了简单直观的方式让开发者为表格视图添加现代化的刷新交互体验,尤其适合需要展示动态数据的应用场景。 ## 📱 什么是PullToRefresh? PullToRefresh是由Leah Culver开发的开源组件,灵感来源于Twee

gitblog_00364的博客 299

《你不懂 JS》(You Don‘t Know JS)俄语翻译版仓库导读:六卷本 JavaScript 深度系列全览

本仓库是 Kyle Simpson 所著《You Don't Know JS》系列图书的俄语翻译版(you-dont-know-js-ru),以 Markdown 源文件形式完整收录六卷正文,第一版已全部完成。通过本文你可以快速掌握该仓库的目录组织、六卷各自的主题与章节骨架、免费在线阅读入口,以及出版信息、贡献方式和许可协议,并了解从 [preface.md](https://link.gitco

gitblog_00037的博客 469

AFNetWorking 第三方解读,以及一些实战的感悟

https://www.aliyun.com/jiaocheng/367496.html AFNetWorking的基本使用//待续...1.我们比对系统版本号的时候经常使用https://www.jianshu.com/p/a86310ca9913NSString *version= [UIDevice currentDevice].systemVersion;但是,苹果其实已经给你宏定义好了在...

georgehenrywilliam的博客 453

UI网络笔记(五):UI网络之上拉和下拉的四种方式

一、使用原理:scrollView 1、AppDelegate.h #import @interface AppDelegate : UIResponder UIApplicationDelegate,UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate> {    

王者归来之英雄有梦 1174

UITableView上的iOS UIRefreshControl

In this tutorial, we’ll be implementing UIRefreshControl on the UITableView in our iOS Application. You must have seen very often a spinning wheel when you pull the top of your screen in your iOS Appl...

从零开始的教程世界 441

iOS 下拉刷新 UIRefreshControl

iOS开发过程中 可能会遇到下拉刷新的问题 今天我们演示一下下拉刷新的效果 首先 新建项目 起名 TestRefreshControl UIRefreshControl 只在UITableView上起作用 我们直接在默认生成的ViewController中新建TableView  同时创建一个 UIRefreshControl @interface V

1814

iOS---UIRefreshControl的使用

UIRefreshControl的使用非常简单。 1、使用范围 如果你装了xcode_4.5_developer_preview,那么在UITableViewController.h文件中你会看到,UITableViewController里面有如下声明,说明UITableViewController已经内置了UIRefreshControl控件

Mr.xiaoma.wen 1005
上一篇: [IOS] 经常被忽视的 UITextField 的属性
下一篇: [IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets、、
skyming
博客等级 码龄15年 249粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值