IOS关于MBProgressHUD延时之后不消失的BUG
来源:互联网 发布:淘宝怎么关闭返利 编辑:程序博客网 时间:2024/05/17 04:23
最近在遇到一个关于MBProgressHUD框架延时隐藏却不消失的BUG,开始在做延时隐藏的时候,使用dispatch_after做延时,但是有时候会出现在MBProgressHUD出现提示2秒之后并未隐藏,后来我在方法末尾加上[MBProgressHUD hideHUD];这样就可以完成需求,代码如下:
-(void)sendExitWithUserID:(NSString *)mobile{ [[SQLiteManager sharedInstance] deleteUserInfo]; //友盟统计用户退出 [MobClick profileSignOff]; //创建一个文件管理者 AFHTTPRequestOperationManager *mgr = [[AFHTTPRequestOperationManager alloc] init]; NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"mobile"] = mobile; params[@"machineCode"] = MACHINECODE; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"nearShopOutLogin"]; [mgr POST:url parameters:params success:nil failure:nil]; [[SQLiteManager sharedInstance] deleteUserInfo]; // 拿到偏好设置的对象 [[NSUserDefaults standardUserDefaults] removeObjectForKey:kIsLogin]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:kAutoLoginSwitchKey]; [MBProgressHUD showMessage:@"您的账户在其他手机上登录,请重新登录"]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [MBProgressHUD hideHUD]; UIWindow *window = [UIApplication sharedApplication].keyWindow; UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; HXTabBarController *tabBarC = [story instantiateInitialViewController]; window.rootViewController = tabBarC; }); [MBProgressHUD hideHUD];}
可是后来发现如果在方法末尾加上[MBProgressHUD hideHUD];会造成延时的信息消失过快,用户无法看清显示信息,后来优化代码之后,使用[self performSelector:@selector(after) withObject:nil afterDelay:2]的方法解决了这个BUG。
-(void)sendExitWithUserID:(NSString *)mobile{ [[SQLiteManager sharedInstance] deleteUserInfo]; //友盟统计用户退出 [MobClick profileSignOff]; //创建一个文件管理者 AFHTTPRequestOperationManager *mgr = [[AFHTTPRequestOperationManager alloc] init]; NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"mobile"] = mobile; params[@"machineCode"] = MACHINECODE; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"nearShopOutLogin"]; [mgr POST:url parameters:params success:nil failure:nil]; [[SQLiteManager sharedInstance] deleteUserInfo]; // 拿到偏好设置的对象 [[NSUserDefaults standardUserDefaults] removeObjectForKey:kIsLogin]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:kAutoLoginSwitchKey]; [MBProgressHUD showMessage:@"您的账户在其他手机上登录,请重新登录"]; [self performSelector:@selector(after) withObject:nil afterDelay:2];}- (void)after{ [MBProgressHUD hideHUD]; UIWindow *window = [UIApplication sharedApplication].keyWindow; UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; HXTabBarController *tabBarC = [story instantiateInitialViewController]; window.rootViewController = tabBarC;}
希望大家多多关注!,谢谢!
0 0
- IOS关于MBProgressHUD延时之后不消失的BUG
- 关于MBProgressHUD 卡死不消失
- iOS 关于MBProgressHUD的使用 自定义动画
- ZoomControls的延时消失
- 延时消失的菜单
- 延时消失的菜单
- 关于ios系统cocos2dx背景音乐不播放的bug
- iOS MBProgressHUD的使用
- MBProgressHUD的使用-ios
- iOS MBProgressHUD 的使用方法
- MBProgressHUD的提示很快就消失了
- 关于ExtJS TextField 下边界会消失的bug
- 关于edittext焦点消失的一个bug记录
- iOS: MBProgressHUD的一个exception
- ios 指示器MBProgressHUD 的使用
- ios MBProgressHUD的基本使用
- iOS MBProgressHUD的简单使用
- iOS 开发 关于MBProgressHUD 属性详解
- Android Material Design:NavigationView抽屉导航菜单以及
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipel
- linux jsoncpp 安装编译
- 在 Cocos2d-js 中使用 Node.js 模块
- Java多线程编程模式实战指南一:Active Object模式(上)
- IOS关于MBProgressHUD延时之后不消失的BUG
- zookeeper之安装
- <context:property-placeholder/>使用说明
- codevs3119 高精度练习之大整数开根
- Android-connectivity连接
- android中的webview遇到的各种坑
- Jsoup解析HTML实例及文档方法详解
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 【Android 总结】一些常识