iOS:当应用程序进入前台时,减少UIAlertView显示的延迟

时间:2014-07-15 13:18:03

标签: ios ios7 xcode5 uialertview uialertsheet

我创建了一个受密码保护的应用。该应用程序允许在后台运行。 当它返回到前台时,我会通过覆盖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立即显示?

1 个答案:

答案 0 :(得分:5)

dispatch_async(dispatch_get_main_queue(), ^{
    <# Write UI related code to be executed on main queue #>
});