MBProgressHUD特效

本文介绍MBProgressHUD库的使用方法,该库能有效防止应用在加载过程中出现假死现象。MBProgressHUD适用于iOS应用开发,提供了多种动画效果供选择。文章通过示例展示了如何在项目中集成MBProgressHUD并实现版本检查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部分转载自:http://blog.youkuaiyun.com/duxinfeng2010/article/details/8510894


MBProgressHUD这个特效,主要作用为应用显示一个过渡的作用,常用于打开一个联网页面加载过程,防止出现假死现象,如果网速慢则告诉用户已经在很努力很努力的加载中。

GitHub上下载地址:https://github.com/jdg/MBProgressHUD

源码中也自带了一个Demo,显示13中动画效果,可以根据需要选取其中特效加以使用,使用方法基本一样;使用的时候只加把MBProgressHUD.h和MBProgressHUD.m拖入工程中,在使用的文件中加上#import"MBProgressHUD.h"


 if (HUD!=nil) {
                [HUD release];
            }
            HUD = [[MBProgressHUD alloc] initWithView:self.view];
            [self.view addSubview:HUD];
            
            HUD.delegate = self;
            HUD.labelText = @"正在检查更新...";
            HUD.detailsLabelText = @"请稍候";
            HUD.square = YES;
            
            [HUD showWhileExecuting:@selector(CheckVersion) onTarget:self withObject:nil animated:YES];

//////////////////
- (void)hudWasHidden {
    // Remove HUD from screen when the HUD was hidded
    [HUD removeFromSuperview];
    [HUD release];
    HUD=nil;
    
}

/////检查更新
-(void)CheckVersion
{
    
    
    
    [NSThread detachNewThreadSelector:@selector(DoCheckVersion) toTarget:self withObject:nil];
    
}


-(void)DoCheckVersion
{
    NSError *error = nil;
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:APP_URL]];
    [request setTimeOutSeconds:HTTPTIMEOUT];
    [request startSynchronous];
    error = [request error];
    if (!error) {
        NSData * ndMain = [request responseData];
        NSString* strData = [[NSString alloc] initWithData:ndMain encoding:NSUTF8StringEncoding];
        
        debug_NSLog(@"strData==%@",strData);
        if ([strData isEqualToString:@""]==YES) {
            
            
            return ;
        }
        NSDictionary *resultDic = [[[SBJsonParser alloc]init] objectWithString:strData];
        NSArray* infoArray = [resultDic objectForKey:@"results"];
        [strData release];
        if (infoArray.count>0) {
            NSDictionary* releaseInfo =[infoArray objectAtIndex:0];
            NSString* appStoreVersion = [releaseInfo objectForKey:@"version"];
            NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
            NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];
            float currentVertionFloat=[currentVersion floatValue];
            float appStoreVertionFloat=[appStoreVersion floatValue];
            if (appStoreVertionFloat > currentVertionFloat)
            {
                trackViewURL = [[NSString alloc] initWithString:[releaseInfo objectForKey:@"trackViewUrl"]];
                
                
                NSString* msg =[releaseInfo objectForKey:@"releaseNotes"];
                [self hudWasHidden];
                [self performSelectorOnMainThread:@selector(ShowUpgradeDialog:) withObject:msg waitUntilDone:NO];
                
                
            }
            else
            {
                [self hudWasHidden];
                [self showAlert:@"当前软件为最新版本,无需升级!"];
            }
            
        }
        else
        {
            
            
            
        }
    }
    else
    {
         [self hudWasHidden];
        [ self showAlert:@"更新失败,网络连接出现问题。"];
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值