2017-08-29 1 views
5

Ich baue derzeit eine IOS-Anwendung mit AngularJS und Cordova. Ich finde einen Fehler, als ich meine App auf IOS 11 Beta ausprobierte.html-wählen Drop-Down-Problem mit Cordova auf IOS 11 Beta

Um einige Daten in einem Formular auszuwählen, verwenden wir Select DropDown. Wenn wir einen Wert auswählen, verschwindet die Dropdown-Liste, aber sie erscheint einige Sekunden später erneut.

Wenn ich mehrere auf meinem Formular auswählen, wenn ein Tippen auf eine Sekunde wählen Sie die erste ausgewählt ist. Dann, nachdem der Wert ausgewählt wurde, erscheint die Liste der Optionen.

Ich versuche mit Basisbeispiel und das ist das gleiche Verhalten. In einem Web Explorer oder mit IOS 10 gibt es keinen Bug.

<select ng-model="elements" ng-options="serie.nom for serie in elements"></select> 

Ich versuche, Label, Update Cordova und IOS-Plugins hinzuzufügen. Aber nichts funktioniert.

Danke von Voraus.

+0

Das gleiche Problem, aber es scheint ein Problem mit UIWebView zu sein. Wenn eine Seite mit select in einer regulären (nicht Cordova) App in einem UIWebView geladen wird, hat dies das gleiche Problem. –

+0

Irgendeine andere Lösung? –

Antwort

5

ich dieses Problem für Cordova unten berichtet hatte:

https://issues.apache.org/jira/browse/CB-13287

Es den Bug in Apples UIWebView erscheint die cordova für IOS verwendet. Ich habe mit einem unserer IOS-Entwickler zusammengearbeitet, um eine native iOS-Beispielanwendung zu erstellen, die nur Swift (keine Cordova) verwendet. Das Problem mit dem Dropdown war auch dort vorhanden.

Apple scheint eine andere Ansicht namens WKWebView zu haben, die ab IOS 8.0 bevorzugt zu sein scheint. Unten ist das Zitat aus Apples WKWebView Dokumentation. Ich habe überprüft, dass es kein Problem mit dem Dropdown-Menü unter WKWebView gibt.

Wichtige

in Starten von iOS 8.0 und OS X 10.10 verwenden WKWebView Webinhalte zu Ihrer App hinzuzufügen. Verwenden Sie kein UIWebView oder WebView.

Gute Sache ist Cordova hat Unterstützung für WKWebView auch. Sie müssen das Plugin installieren: cordova-plugin-wkwebview-engine

Das Plugin ist noch nicht idiotensicher. Sie können versuchen, ob dieses Plugin für Ihre gesamte Anwendung funktioniert. Bis jetzt ist WKWebView nicht die Standardansicht, die Cordova verwendet. Hoffentlich macht Cordova WKWebView bald als Standardansicht. Sie verfolgen alle bekannten Probleme mit WKWebView here.

Update: 3. November 2017

Ich hatte auch dieses Problem an Apple gemeldet. Aber leider wurde es als Duplikat eines anderen Problems gekennzeichnet, das ihnen gemeldet wurde. Aus Gründen der Sicherheit und des Datenschutzes hat Apple mir die Details zu dem anderen Problem nicht mitgeteilt. Der Status dieses Problems ist jetzt GESCHLOSSEN (zuvor war es OPEN). Also, hoffentlich wird das Update in die kommenden IOS-Updates geliefert werden.

Update: 1. Februar 2018

Ich habe gerade bemerkt, dass Apple dieses Problem für UIWebView auch unter Xcode 9.2 festgelegt hat.

+1

Umzug nach WKWebView funktionierte gut für mich. :) –

+1

Dieses Plugin unterstützt nicht in meinem Projekt. Jede andere Lösung bitte ... –

+0

Vielen Dank für Ihre Antwort. Es ist sehr nützlich. – September800

1

Das Problem ist, weil Cordova eine UIWebView verwendet, und der Fehler ist mit UIWebView in iOS 11. Das Problem wurde in iOS 11.2 SDK behoben. Xcode 9.2 mit iOS 11.2 SDK scheint dieses Problem gelöst zu haben.

Verwandte Themen