zoukankan      html  css  js  c++  java
  • 自动登录 登陆成功那个alert遮盖一直存在bug

    手动登陆的时候,登陆成功MBProgressHUD message:@"登陆成功" 
    然后再dispatch_after 里调用MBProgressHUD hideHUD隐藏可以成功.
    问题来了,写了自动登陆,NSUserDefaults 配置完,然后[self login]登陆,能push下一个控制器,但是登陆成功的遮蔽一直在,不会取消。在【MBProgressHUD hideHUD】方法那里打了断点,依旧。。这是为什么?

    登陆成功那个alert一直在

    手动登录代码无问题 自动登录 登陆成功后遮盖取消不掉 登录到主页后一直都是菊花界面。。。

    如果把隐藏方法放在dispatch外面也没问题。。

    第一次运行的时候,打开自动登录开关,showmessage正常显示1秒然后消失。第二次运行的时候,preference存储了自动登录的状态,直接登录,然后问题来了,登录成功跳转到下一个控制器的时候,showmessage并没有消失

     1 // 登录验证 手动连线 login2contac
     2 - (IBAction)loginsClick {
     3     //登录失败 使用官方、自己写的、第三方框架提示用户 不适用弹框警告
     4     if (![self.accounField.text isEqualToString:@"dj"]) {
     5         [MBProgressHUD showError:@"用户名不存在!"];
     6         return;
     7     }
     8     //联网核查账号数据
     9     if (![self.pwdField.text isEqualToString:@"123"]) {
    10         [MBProgressHUD showSuccess:@"密码错误!"];
    11         return;
    12     }
    13     // 增加(蒙版)遮盖界面
    14     [MBProgressHUD showMessage:@"程序猿正在拼命加载数据..."];
    15     // 发送网络请求
    16     
    17     //模拟联网取数据 延迟1秒 dispatch_after snippet-GCD
    18     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    19         //去掉蒙版
    20 //        [MBProgressHUD hideHUD];
    21         [self performSegueWithIdentifier:@"login2contac" sender:nil];//手动跳转
    22         //保存个人偏好设置用于下次自动登录
    23         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    24         [defaults setObject:self.accounField.text forKey:DJAccount];
    25         [defaults setObject:self.pwdField.text forKey:DJPwd];
    26         [defaults setBool:self.rememberPwd.isOn forKey:DJRementPwd];
    27         [defaults setBool:self.automaticPwd.isOn forKey:DJAutoLogin];
    28         [defaults synchronize];
    29     });
    30     //遮盖一直存在只能在这里去掉蒙版
    31     [MBProgressHUD hideHUD];
    32 }

     解决办法 因为创建窗口时候数组有两个窗口 一个是当前窗口一个是键盘窗口 MJ整合的代码只调用了lastObject即键盘窗口。自动登录跳转窗口应该去掉当前窗口遮盖用数组中第一个就行了

    1 if (view == nil) view = [[UIApplication sharedApplication].windows firstObject];
  • 相关阅读:
    数据卷Volume
    使用 Elastic Stack 分析地理空间数据 (二)
    使用 Elastic Stack 分析地理空间数据 (一)
    如何在 Docker 之上使用 Elastic Stack 和 Kafka 可视化公共交通
    Kubernetes网络模型
    举例:Network Policies
    配置Pod的 /etc/hosts
    k8s上安装安装 Ingress Controller &卸载
    logstash安装插件修改使用的gem源
    示例:Ingress通过互联网访问应用
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4595030.html
Copyright © 2011-2022 走看看