自动完成使用后,警报在nativescript ios中不可见

时间:2018-10-08 00:32:27

标签: nativescript angular2-nativescript nativescript-plugin

我正在开发适用于android和ios的nativescript应用程序,其中我使用REST API来存储/获取JSON格式的数据。 基于API的JSON结果,我有时需要向用户显示警报。 它在Nativescript 4.1上运行良好,但是由于我已升级到4.2,因此应用程序无法在ios中显示警报框。它显示空白页并显示以下错误。

(UIKitCore) Warning: Attempt to present <UIAlertController: 0x7fb5834eb000> on <UIViewControllerImpl: 0x7fb58659a670> whose view is not in the window hierarchy!

我怀疑我打电话给警报太早了,所以我试图在警报之前添加超时,但是还是一样。

if (result.status === 'E') {
                setTimeout(function () {
                    const alertOptions = { title: 'Error', message: result.errMsg, okButtonText: 'OK', cancelable: false };
                    dialogs.alert(alertOptions).then(() => {
                        resolve('Error');
                    });
                }, 700);

要注意的一点是,我在其中一个标签中使用了nativescript-autocomplete组件。并且仅当用户使用该组件搜索内容时才会出现此问题。 因此可能与该组件有关。可能是当自动完成功能关闭了模态时,应用会松开父级引用吗?

1 个答案:

答案 0 :(得分:0)

现在找到了一个临时解决方案。 nativescript-fancyalert的作用就像是一种魅力。会坚持一段时间。 它基于iOS的SCLAlertView