0

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

4

1 回答 1

5
dispatch_async(dispatch_get_main_queue(), ^{
    <# Write UI related code to be executed on main queue #>
});
于 2014-07-16T05:57:19.687 回答