ios mbprogresshud的ios已经是最新版本本是多少

iOS使用MBProgressHUD出现的坑 - 简书
iOS使用MBProgressHUD出现的坑
(“MBProgressHUD needs to be accessed on the main thread.”)
我用webView加载H5页面,并在webViewDelegate方法中使用MBProgressHUD控件,如下:
-(void)webViewDidStartLoad:(UIWebView *)webView
[self showLoadHUDMsg:@"正在加载..."];
-(void)webViewDidFinishLoad:(UIWebView *)webView{
[self hideLoadHUD];
但是,当我在webView中使用js交互push到下一个页面后,出现下列报错:(present到下一个页面却不会出现报错)
*** Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘, reason: ‘MBProgressHUD needs to be accessed on the main thread.‘
‘MBProgressHUD needs to be accessed on the main thread.‘这个错误主要翻译成,MBProgressHUD必须在主线程上运行。
解决办法:
//充值缴费
-(void)recharge{
// present却不会出现问题
JXSRechargeVC *rechangeVC = [JXSRechargeVC new];
UINavigationController *nvi = [[UINavigationController alloc]initWithRootViewController:rechangeVC];
[self presentViewController:nvi animated:YES completion:nil];
NSLog(@"线程1---&%d",[NSThread isMainThread]);
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
NSLog(@"线程2---&%d",[NSThread isMainThread]);
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"线程3---&%d",[NSThread isMainThread]);
JXSRechargeVC *rechangeVC = [JXSRechargeVC new];
[self.navigationController pushViewController:rechangeVC animated:YES];
线程的打印结果如下:
0DCC7C1F-B5A0-44D8-AAD0-E07EC70BBDA6.png
显示NSAssert(view, @"View must not be nil.")错误提示
我添加MBProgressHUD是使用的分类,将HUD显示在window上面,关键代码如下:
//隐藏加载提示
- (void)hideLoadHUD{
[MBProgressHUD hideAllHUDsForView:[self window] animated:YES];
//正在加载提示
- (void)showLoadHUDMsg:(NSString *)msg{
MBProgressHUD *progressHUD = [MBProgressHUD showHUDAddedTo:[self window] animated:YES];
progressHUD.labelText =
//progressHUD.mode = MBProgressHUDModeT
//progressHUD.dimBackground = YES;
-(UIWindow *)window{
return [UIApplication sharedApplication].keyW
但是使用过程中会出现NSAssert(view, @"View must not be nil.")的错误提示,解决方法如下:([UIApplication sharedApplication].keyWindow替换[self window])
//隐藏加载提示
- (void)hideLoadHUD{
[MBProgressHUD hideAllHUDsForView:[UIApplication sharedApplication].keyWindow animated:YES];
//正在加载提示
- (void)showLoadHUDMsg:(NSString *)msg{
MBProgressHUD *progressHUD = [MBProgressHUD showHUDAddedTo:[UIApplication sharedApplication].keyWindow animated:YES];
progressHUD.labelText =
//progressHUD.mode = MBProgressHUDModeT
//progressHUD.dimBackground = YES;iOS开发之MBProgressHUD的使用
MBProgressHUD是iOS中的一个第三方库,主要是在界面上显示一个加载的进度框或者提示框,如下图所示:
下面就记录一下使用MBProgressHUD的方法:
1、导入MBProgressHUD到项目中
这里使用cocoapods导入,Podfile文件的内容如下:
如果不清楚MBProgressHUD的版本是多少,可以在终端下执行pod search MBProgressHUD命令,即可显示出当前的MBProgressHUD的最新版本,如下图所示:
2、在代码中使用MBProgressHUD
首先在头文件中声明一个MBProgressHUD变量,需要引入相应的头文件,ViewController.h文件的代码如下:
#import &ViewController.h&
@interface ViewController ()
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//初始化MBProgressHUD
self.progressHUD = [[MBProgressHUD alloc] initWithView:self.view];
self.progressHUD.mode = MBProgressHUDModeI
self.progressHUD.progress = 0.4;
//添加ProgressHUD到界面中
[self.view addSubview:self.progressHUD];
#pragma mark - 显示进度框
-(void)showProgress:(id)sender {
self.progressHUD.dimBackground = NO; //设置有遮罩
self.progressHUD.labelText = @&加载中...&; //设置进度框中的提示文字
[self.progressHUD show:YES]; //显示进度框
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
&其中,MBProgressHUD有一些配置项,下面分别说明:
(1)self.progressHUD.dimBackground配置项。该项主要配置对话框是否有遮罩,取值为YES / NO,下面两张图是该配置项的区别:
(2)self.progressHUD.mode配置项。该配置项有6种不同的取值,分别对应6中不同形状的进度框,取值有下面6种:
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
/** Progress is shown using an UIActivityIndicatorView. This is the default. */
MBProgressHUDModeIndeterminate,
/** Progress is shown using a round, pie-chart like, progress view. */
MBProgressHUDModeDeterminate,
/** Progress is shown using a horizontal progress bar */
MBProgressHUDModeDeterminateHorizontalBar,
/** Progress is shown using a ring-shaped progress view. */
MBProgressHUDModeAnnularDeterminate,
/** Shows a custom view */
MBProgressHUDModeCustomView,
/** Shows only labels */
MBProgressHUDModeText
对应的进度框如下图所示:
还有一种mode为MBProgressHUDModeCustomView,即自定义的View。
隐藏进度框需要调用下面的方法:
[self.progressHUD hide:YES];
[self.progressHUD hide:YES afterDelay:5];
其中第一个方法是立即隐藏进度框,第二个方法是延迟5秒再隐藏进度框。
3、self.progressHUD.progress属性。该属性配置的是进度框中显示的进度,取值为0-1&>&史上最全最好用的MBProgressHUD
史上最全最好用的MBProgressHUD
上传大小:14KB
MBProgressHUD是很好用的第三方控件
综合评分:0(0位用户评分)
所需积分:
下载个数:7
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有0条
审核通过送C币
iOS开发学习电子书
iOS电子图书大全
创建者:qq_
[资源优选]第十八期:20个热门的SWIFT源码
创建者:nigelyq
上传者其他资源上传者专辑
echart_API文档与实例
天使投资人资料以及联系邮箱完全版
IOS 最好用的刷新控件
史上最全的最好用的 IOS字符串处理控件
史上最好用的沙盒封装Sandbox
移动开发热门标签
VIP会员动态
找不到资源?发布悬赏任务百万程序猿帮你提供!
下载频道部分积分规则调整公告
开通VIP,海量IT资源任性下载
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
史上最全最好用的MBProgressHUD
会员到期时间:
剩余下载个数:
剩余C币:0
剩余积分:6726
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
fanliunian
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
史上最全最好用的MBProgressHUDMBProgressHUD是iOS中的一个第三方库,主要是在界面上显示一个加载的进度框或者提示框,如下图所示:
& & & & & & &&
下面就记录一下使用MBProgressHUD的方法:
1、导入MBProgressHUD到项目中
这里使用cocoapods导入,Podfile文件的内容如下:
如果不清楚MBProgressHUD的版本是多少,可以在终端下执行pod search MBProgressHUD命令,即可显示出当前的MBProgressHUD的最新版本,如下图所示:
2、在代码中使用MBProgressHUD
首先在头文件中声明一个MBProgressHUD变量,需要引入相应的头文件,ViewController.h文件的代码如下:
#import &ViewController.h&
@interface ViewController ()
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//初始化MBProgressHUD
self.progressHUD = [[MBProgressHUD alloc] initWithView:self.view];
self.progressHUD.mode = MBProgressHUDModeI
self.progressHUD.progress = 0.4;
//添加ProgressHUD到界面中
[self.view addSubview:self.progressHUD];
#pragma mark - 显示进度框
-(void)showProgress:(id)sender {
self.progressHUD.dimBackground = NO; //设置有遮罩
self.progressHUD.labelText = @&加载中...&; //设置进度框中的提示文字
[self.progressHUD show:YES]; //显示进度框
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
其中,MBProgressHUD有一些配置项,下面分别说明:
(1)self.progressHUD.dimBackground配置项。该项主要配置对话框是否有遮罩,取值为YES &/ & NO,下面两张图是该配置项的区别:
(2)self.progressHUD.mode配置项。该配置项有6种不同的取值,分别对应6中不同形状的进度框,取值有下面6种:
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
/** Progress is shown using an UIActivityIndicatorView. This is the default. */
MBProgressHUDModeIndeterminate,
/** Progress is shown using a round, pie-chart like, progress view. */
MBProgressHUDModeDeterminate,
/** Progress is shown using a horizontal progress bar */
MBProgressHUDModeDeterminateHorizontalBar,
/** Progress is shown using a ring-shaped progress view. */
MBProgressHUDModeAnnularDeterminate,
/** Shows a custom view */
MBProgressHUDModeCustomView,
/** Shows only labels */
MBProgressHUDModeText
};对应的进度框如下图所示:
还有一种mode为MBProgressHUDModeCustomView,即自定义的View。
隐藏进度框需要调用下面的方法:
[self.progressHUD hide:YES];
[self.progressHUD hide:YES afterDelay:5];其中第一个方法是立即隐藏进度框,第二个方法是延迟5秒再隐藏进度框。
3、self.progressHUD.progress属性。该属性配置的是进度框中显示的进度,取值为0-1
本文已收录于以下专栏:
相关文章推荐
/content/15/644.shtml
MBProgressHUD是一个显示HUD窗口的第三方...
1,MBProgressHUD常用属性和用法Demo
- (void)testMBProgressHUD
NSLog(@&test
MBProgressHUD &);
MBProgressHUD就是一个非常好用的第三方库,可以快速接入加载的界面,下面贴代码:
#import &ViewController.h&
#import &MBProgressHUD.h&
说明MBProgressHUD可以在网页加载、下载等耗时操作中给予用户以提示。HUD的本意就是抬头显示功能。MBProgressHUD在Github的地址: /jd...
我在上一篇博客《iOS开发——使用MBProgressHUD来增加用户体验》主要实现了使用别人已经封装的MBProgressHUD来进行加载提示,可以说是相当的方便。今天我们使用Github上原生的M...
from:http://blog.csdn.net/pjk1129/article/details/6665603
这里介绍一下网友开源的MBProgressHUD类,实现等待框,
原文地址/article-89289-1.html
MBProgressHUD 下载地址是: /matej/MBP...
MBProgressHUD是一个显示HUD窗口的第三方类库,用于在执行一些后台任务时,在程序中显示一个表示进度的loading视图和两个可选的文本提示的HUD窗口。我想最多是应用在加载网络数据的时候。...
MBProgressHUD是iOS中用的比较多的开源库。它主要是用来做提示作用的。如下图所示:
   添加MBProgressHUD到你的工程中
     有三种方法:
这里介绍一下网友开源的MBProgressHUD类,实现等待框,
一、网上下载  MBProgessHUD 类文件,直接导入到工程即可
二、示例分析
在我的工程中示例如下...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 ios明明不是最新版本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信