linux dd 进度条,Progress 进度条 – DDProgressHUD

DDProgressHUD

Progress 进度条,UIActivityIndicatorView 小菊花,弹窗,状态显示,高度自定义

DDProgressHUD的介绍

提供了四种类型的展示:

显示无限旋转的加载图(比如小菊花,可以自定义),显示文字信息。网络刷新时经常用到。

Ezq6Ff.gif

显示加载进度的动画,也可以显示文字。网络下载时用的比较多,加载网页时也可以用。

VZV3E3.gif

与用户弹窗交互的弹窗,告知用户当前操作的状态,成功还是失败,显示一张图片和文字。图片和文字也都可自定义

AjE7fy.png

VrEbIf.png

JZfAfa.png

可高度自定义的弹窗,将一个view显示在遮罩上面,相当于做了一个蒙版

eyaaIb.png

最后旋转的菊花,提供了一个view的扩展,将UIActivityIndicatorView小菊花显示在调用者中间位置。

6nmiyq.gif

DDProgressHUD的简单使用与方法介绍

准备

下载代码:使用很简单,将工程从github: https://github.com/mddios/DDProgressHUD 下载下来,将DDProgressHUD文件全部拖入工程

包含DDProgressHUD.h头文件即可使用

不用考虑线程的问题,主线程和非主线程均可以

工程现在下来可以看到是一个demo,点击上面的按钮就一目了然

为了方便管理与自定义,建议还是fork一份到自己的github

简单使用与方法介绍

第一类显示提供三个类方法:无限循化的图片

/// 只显示图片,一直显示直到调用dismiss方法

+ (void)show;

/// 显示图片和文字,一直显示直到调用dismiss方法

+ (void)showWithStatus:(NSString *)status;

/// 很明显,显示时间由duration决定,当然,中途也可以调用dismiss方法来取消显示

+ (void)showWithStatus:(NSString *)status andDuration:(NSTimeInterval)duration;

第二类显示提供2个类方法:加载进度

/// 显示进度,不会自动消失,需要调用dismiss方法,progress 取值范围0~1

+ (void)showProgress:(CGFloat)progress;

/// 显示进度,和一段描述,不会自动消失,需要调用dismiss方法

+ (void)showProgress:(CGFloat)progress withStatus:(NSString *)status;

第三类显示提供6个类方法:弹窗,显示图片和文字

/// 成功弹窗,只显示图片,

+ (void)showSuccessImage;

/// 成功状态图片和info

+ (void)showSuccessImageWithInfo:(NSString *)info;

/// 错误弹窗,只显示图片

+ (void)showErrorImage;

/// 错误状态图片和info

+ (void)showErrorImageWithInfo:(NSString *)info;

/// 显示自定义图片和文字信息,视图大小会根据文字和图片的大小自动调整

+ (void)showImage:(UIImage *)image andInfo:(NSString *)info;

/// 显示自定义图片和文字信息时间到后自动消失,视图大小会根据文字和图片的大小自动调整

+ (void)showImage:(UIImage *)image andInfo:(NSString *)info andDuration:(CGFloat)duration;

关于显示时间的问题:会根据传入的Info长短来计算一个时间,然后和最大时间、最小时间做比较,防止超过预期值,最大最小值都可以程序设置,具体参照下面关于设置的介绍。

成功和失败的图片没有提供接口来替换,如果需要显示自定义的图片,上面也提供了方法。

当然你也将程序默认成功和失败的图片自己替换掉(在bundle中),程序会根据图片的大小来自动计算Frame,所以图片大小也不受限制,但是图片名字必须与默认的保持一致。

第四类显示:在maskview(相当于蒙版)上显示view,高度自定义

+ (void)showWithView:(UIView *)view andDuration:(NSTimeInterval)duration;

随意显示,和上面最大的不同就是,它的frame需要使用者自己定义与计算,HUD只是提供一个蒙版,还有就是点击蒙版后的操作(隐藏,发送通知,或者什么也不做)

最后,也算第五类吧

显示系统的菊花到view的中间,view的扩展方法

/// 将DDProgressHUD无限循环动画添加到view, @return 返回DDProgressHUD实例

- (UIActivityIndicatorView *)showActivityView;

/// 将最顶层的ActivityView从父视图删除,如果添加了多次则只会删除最顶层! @return 找到并删除成功返回YES,否则NO

- (BOOL)hiddenActivityView;

DDProgressHUD的全局设置

设置有两种:

头文件里面的默认设置(宏定义),相当于初始化,全局有效。位置:DDDefaultSetup.h头文件

程序提供的类方法,会覆盖之前的设置,全局有效。接口头文件:DDProgressHUD.h

简单看下视图和对应的名称,还有层级

maskview显示在window上

DDProgressHUD(下面简称hud)的backgroundView

大部分视图处于这一层级,比如上面提到的第一类、第二类、第三类显示的视图都在这个层级,下面示意图展示的是第二类:进度

3.1: 进度条的,有两个,黑色的为foregroundRing,灰色的为backgroundRing

3.2:显示的lbl

7nUzYn.png

也可以根据上面显示类别和view的层级关系,分为以下几种

1 maskview,蒙版的设置

首先默认设置,一共有4个

/// 遮罩默认不透明度

#define kMaskViewAlpha 0.6f

/// 遮罩默认颜色

#define kMaskViewBackgroundColorRGB 0x999999

/// 默认展示动画时间

#define kShowAnimateDuration 0.2f

/// 默认隐藏动画时间

#define kDismissAnimateDuration 0.2f

前两个好理解,后面两个是展示maskview和隐藏时的动画时间,是对alpha做的动画。

对应类方法设置为:(void)setMaskviewColor:(UIColor *)color,颜色和透明度,一起设置。动画时间没有提供。

另外还有setMaskViewAutomaticHidden:,即点击蒙版后是否自动消失视图,即调用dismiss方法。无论YES或者NO,点击后都会发送一个通知static const NSNotificationName DDMaskViewDidClicked = @”DDMaskViewDidClicked”;

2 白色的背景设置

头文件默认设置

/// 圆角半径

#define kCornerRadius 10

#define kHudColor 0xF0F0F0

/// hud最大宽度与屏幕宽度比例

#define kMaxWidthRatioScreenWidth (2.0/3.0)

/// hud最大高度与屏幕高度比例

#define kMaxHeightRatioScreenHeight (2.0/3.0)

/// hud最小宽高比,避免hud显得太瘦,使用者可以通过将文本换行(

)来避免太胖

#define kMinimumWidthRatioHeight 0.95

/// 图片与文字之间的间隙(竖直方向)

#define kViewMargin 12

/// 与父视图间隙

#define kTopAndBottomMargin 16

/// 与父视图间隙

#define kLeftAndRightMargin 16

与屏幕的宽高比:主要是计算字符串文字信息是给的限定,防止超过限制,从而显得不美观

hud自身的宽高比:主要是避免显得太瘦,比如文字信息很短,就会现的很瘦,而太胖的话,可以对文字信息进行换行处理

还有间隙的设置:主要是针对hud的子view

类方法的设置:有的没有提供(比如宽高比,比如视图间隙)

/// 设置圆角,默认为10,具体参照:DDDefaultSetup.h为准

+ (void)setBackgroundViewCornerRadius:(CGFloat)radius;

/// 设置背景颜色,默认为0xF0F0F0,具体参照:DDDefaultSetup.h为准

+ (void)setBackgroundViewColor:(UIColor *)color;

/// 设置字体,默认为偏好设置字体

+ (void)setFont:(UIFont *)font;

3 弹窗、无限旋转的图片、进度圈的设置

共同的设置,即文字(lbl)字体:

类方法:setFont:,默认设置为跟随偏好设置的小标题大小变化[UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]

弹窗

默认:

/// 最长10秒,最短3秒

#define kDDMaxImageShowDuration 10.0f

#define kDDMinimumImageShowDuration 3.0f

/// 每个文字显示时间

#define kEveryWordShowDuration 0.2f

类方法:

+ (void)setMaxImageShowDuration:(CGFloat)duration;

+ (void)setMinimumImageShowDuration:(CGFloat)duration;

/// 默认每个文字0.2s,具体参照:DDDefaultSetup.h为准

+ (void)setEveryWordShowDuration:(CGFloat)duration;

主要用于计算弹窗显示时间长短

无限旋转的图片

默认:

/// 旋转一周所用的时间,控制旋转的速度

#define kOneRoundDuration 1.0f

类方法:多提供了旋转的图片设置,可以在这里设置,也可以直接将bundle里面的替换,替换后全局有效

/// 自定义旋转的图片

+ (void)setLoopImage:(UIImage *)image;

/// 控制旋转的速度:旋转一圈所用的时间,默认为1s,具体参照:DDDefaultSetup.h为准

+ (void)setLoopOneRingDuration:(CGFloat)duration;

进度圈

默认:

/// 进度圆环线半径大小

#define kRingRadius 25.0f

/// 进度圆环线宽度

#define kRingLineWidth 3.0f

/// 进度圆环颜色

#define kForegroundRingLineColorRGB 0x333333

#define kBackgroundRingLineColorRGB 0xE0E0E0

类方法:

/// 圆弧半径,默认为25,具体参照:DDDefaultSetup.h为准

+ (void)setForegroundRingRadius:(CGFloat)radius;

+ (void)setBackgroundRingRadius:(CGFloat)radius;

/// 圆弧线宽度,默认为3,具体参照:DDDefaultSetup.h为准

+ (void)setForegroundRingLineWidth:(CGFloat)width;

+ (void)setBackgroundRingLineWidth:(CGFloat)width;

/// 圆弧线颜色,默认为0xE0E0E0 0x333333,具体参照:DDDefaultSetup.h为准

+ (void)setForegroundRingLineColor:(UIColor *)color;

+ (void)setBackgroundRingLineColor:(UIColor *)color;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android动态图标包制作教程,安卓手机ico图标制作美化图文教程

如何让手机更加与众不同?今天我们就来学习如何利用出色的ico图标制作软件——Axialis IconWorkshop制作出美化手机屏幕的个性图标!如今,每个人都有属于自己的手机,每天使用手机聊QQ、刷微博、玩游戏,可以说手机已经是很多人生活中不可缺少的…

android progressbar 水平动画,Android ProgressBar 自定义样式(三),动画模式

果:和之前的一样,在布局文件中:android:id"id/progressBar3"android:layout_width"wrap_content"android:layout_height"wrap_content"android:indeterminate"false"android:indeterminateDrawable&…

android gridview行分割线,Android使用GridView实现表格分割线效果

使用gridview实现表格分割线效果,网格布局表格布局也是可以实现的。效果如下:1.主函数代码:package com.example.qd.douyinwu;import android.app.activity;import android.content.context;import android.os.bundle;import android.support…

android hook 实例,代码实例分析android中inline hook

以下内容通过1、实现目标注入程序,2、实现主程序,3、实现注入函数,4、thumb指令集实现等4个方面详细分析了android中inline hook的用法,以下是全部内容:最近终于沉下心来对着书把hook跟注入方面的代码敲了一遍&#xf…

dax 筛选 包含某个字_筛选状态(ALL与REMOVEFILTERS)

这一章比较绕,但是帮助我们理清切片器的筛选状态以及主要函数对于公式筛选上下文的改变。1.切片器的筛选状态切片器的全选与全不选的状态的区别,我们可以看下图:全不选全选多个点击筛选逐个点击至全部结论初始状态,没有选择任何元…

山东鲁能轨道智能巡检机器人_温湿度传感器在轨道巡检机器人中的应用

▲地下综合管廊智慧管廊建设,是智慧城市在地下的一个缩影,有助于缓解“大城市病”,实现精细化和动态管理。与此同时,各种传感器技术也将被运用到地下综合管廊运维的每一环,这其中,地下管廊巡检机器人便是其…

android显示网络图片控件,Android控件之ImageView(二)

前言在上一篇文章中,我们讲解了如何加载本地图片,那么在实际项目中 ImageView 大多数使用场景是加载网络图片,网络图片其实就是存储在服务器上的文件,我们需要从服务器获取到文件的二进制输入流 Inpustream ,然后将其转…

坯子库曲面推拉教程_一招曲面流动,搞定99%异形建模

曲面流动可以建什么模型?这样的▼这样的▼还有这样的▼那究竟如何使用曲面流动呢?本文告诉你!曲面流动是什么?曲面流动功能相当于Rhino(犀牛)中的“沿曲面流动”命令,可以使来源几何体群组或组件,根据基准平面为参照,…

android o 结构光流程,惊艳亮相!一分钟看懂OPPO Find X 3D结构光技术是什么鬼,太牛了...

法国时间6月19日,OPPO在巴黎卢浮宫正式举办未来旗舰Find X发布会。此次亮相的Find X新机,既有充满艺术感的3D玻璃机身设计,又有3D结构光、曲面全景屏、双轨潜望结构等多项黑科技。众多黑科技中,以3D结构光O-face最受数目。据悉&am…

jframe运行和预览大小不一样_同一款车型,为什么配的轮胎大小还会不一样?【内含福利】...

小编又来给大家送福利啦~阅读完文章之后 戳文章底部阅读原文 岁末巨献 国货好胎!免费体验价值1999元国产轮胎!相信有不少朋友,买车的时候一定会有类似的经历。选车、试驾的时候,看到试驾车配置相当漂亮,尤其搭配的轮圈…

java设计按月每天签到_活动攻略|新同学新签到,欢乐福利全都要!

12月03日【每日一题答案】— 枫叶书签答对问题即有机会获得金币、道具、积分,还有宠物好奇星噢~12月来了,和12月一起来的是我们的新同学——花轮!谁不喜欢浪漫体贴的小少爷呢!喵星星感觉自己爱消除【最受欢迎男性角色】的地位正岌…

bs cs架构区别_软件架构设计分层模型和构图思考

今天谈下架构设计中的分层思维和分层模型以及基于分层思维下的架构构图逻辑。架构思维概述对于架构思维本身仍然是类似系统思维,结构化思维,编程思维等诸多思维模式的一个合集。由于架构的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁&…

pin码计算器网页版_AP微积分Excel简便计算+网页工具指南

今年的AP考试既然是开卷,允许大家使用各种资源。今天一个学生提了一个不(zhe)错(mo)的(wo)想(de)法(shi)。于是给大家写了一个Excel的公式表格照例老规矩:点个”在看“再走呗先说明一下使用指南:文末有下载表格包含:(目前的功能&a…

HTML文本下划线效果,聊聊CSS中文本下划线_CSS, SVG, masking, clip-path, 会员专栏, text-decoration 教程_W3cplus...

在Web中给文本添加下划线常常出现在链接的文本上,早期一般使用text-decoration属性给文本添加下划线、删除线等。除了text-decoration之外,CSS还有很多技术方案可以给文本添加下划线效果,比如border-bottom、box-shadow、background-image等。…

学员感言html效果图,学员感言丨非计算机专业学员 开始学HTML5的点点滴滴

学员感言丨非计算机专业学员 开始学HTML5的点点滴滴来源:奇酷教育 发表于:2017-08-03 12:09:25在奇酷学员学习HTML5的这段时间里,让我学习到了实用的技能和知识。我是一个非计算机类学生,可以说是对编程一窍不通,在选择…

请领导批阅文件怎么说_请领导吃饭,不要对外说,职场员工为何如此保密?

前一段时间公司员工晋升,因为小王在公司的表现非常不错,所以成为了公司领导的秘书。其实按理来说,成为公司领导的秘书与否,往往只需要看这个员工有没有眼力,看她的办事能力如何,能不能提高公司的整体效率&a…

幼儿使用计算机需要注意事项,儿童玩电脑注意事项

相信现在的家庭里面很多小孩子爱玩电脑,但是电脑玩多了,对孩子眼睛、身体都不好,那么应该怎么才能科学玩电脑呢?妈网百科给大家总结了一些其他家长的经验,希望能够帮得到各位有需要的家长。【与电脑保持距离】孩子与电…

c++实现卷积码编码和维特比译码_鑫艾勒维特家用别墅电梯:安全至上,无可替代...

近年来,随着房地产行业的兴起,家用别墅电梯作为房地产配套产业也逐渐走进了平常家庭别墅中,如今一句俗语“无梯不成墅”将电梯在别墅中的重要地位彰显的淋漓尽致。艾勒维特家用液压小电梯因其适用于私人住宅,适用场景多样等特点&a…

某个元素的距离页面的左边距_如何提高办公写作效率?先设置好页面上的这4类数据,准没错...

有人说,在体制内混的好,首先要文笔好。这里要说的是,一个文笔好的人,可能在哪里都能混的好。#直言职场#因为很多表达形式都需要以文字做雏形,进而进行各种形式的变换和转化。就拿当下很热门的自媒体行业来说&#xff0…

地线与接地螺丝_电气接地的规范要求及接地的各项参数,收藏!

申请加入微信群:加微信好友,diangong1968申请格式:城市-公司简称(电气工程师职称)点此去资料库下载本篇资料为了主要目的是保护人身和设备的安全,减少公司电气事故发生,控制公司人员和财产不受损失,所有电气…