iOS:减少应用程序进入前台时 UIAlertView 显示的延迟
Posted
技术标签:
【中文标题】iOS:减少应用程序进入前台时 UIAlertView 显示的延迟【英文标题】:iOS: Decrease delay in UIAlertView show when app enters foreground 【发布时间】:2014-07-15 13:18:02 【问题描述】:我创建了一个受密码保护的应用程序。该应用程序被允许在后台运行。 当它返回到前台时,我会通过覆盖 appdelegate 中的 applicationWillEnterForeground: 方法来显示提示用户输入密码的警报,就像这样-
- (void)applicationWillEnterForeground:(UIApplication *)application
if (/*password is enabled*/)
alertview = [[UIAlertView alloc] initWithTitle:@"LOGIN"
message:@"Enter app password"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:nil];
alertview.alertViewStyle = UIAlertViewStyleSecureTextInput;
pwdTF = [alertview textFieldAtIndex:0];
[pwdTF setDelegate:self];
[alertview show];
但是,警报需要一点时间才会出现。在此期间,视图仍然容易受到攻击。
有没有办法让 uialertview 立即显示?
【问题讨论】:
你可以尝试在主线程上显示警报。 Ashutosh,我是 ios 编程的新手。您能否提供一个链接或示例,说明当应用返回前台时如何在主线程上显示警报? 【参考方案1】:dispatch_async(dispatch_get_main_queue(), ^
<# Write UI related code to be executed on main queue #>
);
【讨论】:
感谢您的及时回复!如果我理解正确,在我的情况下,这个块将进入 'applicationWillEnterForeground:' appdelegate 方法,对吧? 像魅力一样工作!非常感谢!以上是关于iOS:减少应用程序进入前台时 UIAlertView 显示的延迟的主要内容,如果未能解决你的问题,请参考以下文章
每次我的应用程序从后台进入前台时,IOS Default.png 都会显示 [重复]
iOS - 如何判断本地通知是不是导致我的应用程序进入前台?