Предупреждение не отображается в IOS nativescript после использования автозаполнения - PullRequest
0 голосов
/ 08 октября 2018

Я работаю над приложением nativescript для android и ios, в котором я использовал REST API для хранения / получения данных в формате JSON.На основе результатов JSON от API иногда мне нужно показывать предупреждение пользователю.Он работал нормально с 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 голосов
/ 08 октября 2018

На данный момент найдено временное решение. nativescript-fancyalert работает как шарм.Будет придерживаться этого на некоторое время.Он основан на SCLAlertView для ios.

...