出现场景:
在登录的实现中,我们需要获取验证码,和根控制器的切换,在获取验证码成功或失败给予提示,输入验证码登录成功后切换根控制器。在测试的过程中,测试人员使用的账号验证码是默认的,比如 000000,因此在这个登录过程中,就会出现验证码还没返回回来,测试人员已经输入验证码点击了登录按钮;再验证码获取成功回调显示alertView的时候,登录成功切换根控制器,就会出现状态栏消失的情况
所以,在正常的用户行为中,是不会出现这种现象的。
推荐的处理就是,验证码获取成功之前,登录按钮不可点击,这样就可以避免测试中出现的这种操作了
Paste_Image.png
测试代码:
弹出 alertView 代码
[Utils alertTitle:@"提示"
message:@"请重新登录!"
delegate:self
cancelBtn:@"确定"
otherBtnName:nil];
+(UIAlertView *)alertTitle:(NSString *)title message:(NSString *)msg delegate:(id)aDeleagte cancelBtn:(NSString *)cancelName otherBtnName:(NSString *)otherbuttonName{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:aDeleagte cancelButtonTitle:cancelName otherButtonTitles:otherbuttonName, nil];
[alert show];
return alert ;
}
弹出 alertView,然后切换根控制器
Paste_Image.png
效果:
可以发现,状态栏消失了
Paste_Image.png
这时候,如果将 alertView 消失后再切换根控制器,状态栏会重新出现
原因:
在切换根控制器的时候,如果出现了 alertView, 切换根控制器之后,状态栏会消失