UIDavigationController popViewControllerAnimated在Touch Id之后需要很长时间

时间:2014-09-22 09:27:46

标签: ios objective-c uinavigationcontroller ios8

我要求用户使用Touch Id进行身份验证(在iOS 8上)。 触摸ID对话框显示在另一个视图上方,该视图将在"输入密码"或"取消"点击按钮而不是用户使用指纹进行身份验证。

如果成功 - 我弹出视图控制器。 如果是"取消"或"输入密码"我让用户输入密码然后(如果密码正确) - 我弹出视图控制器。

如果用户手动输入密码,则会立即弹出视图。 如果用户正在使用指纹 - 立即调用弹出代码(根据调试器和打印到控制台的NSLog) - 但UI会在大约5秒后显示弹出。

可能是什么问题?

1 个答案:

答案 0 :(得分:7)

尝试确保它在主线程上运行,也许像GCD Dispatch这样的技巧就可以了。

    dispatch_async(dispatch_get_main_queue(), ^{
        [self.navigationController popViewControllerAnimated: YES];
    });