2016-12-06 2 views
0

Ich möchte, dass die Tastatur für iOS- und Android-Geräte automatisch nach 1s öffnet, wenn ein bestimmter Textbereich sichtbar wird.Ionic/Cordova: Kann die iOS-Tastatur nicht programmgesteuert auslösen

Ich habe eine directive erstellt, aber die Tastatur auf iOS kommt nicht auf! Gibt es ein (neues) Problem bezüglich der Tastatur mit iOS 10?

Mein textarea wie folgt aussieht:

<textarea rows="20" autocorrect="off" ng-trim="false" focus-me></textarea> 

und die Richtlinie wie folgt aussieht:

app.directive('focusMe', function($timeout) { 
    return { 
    link: function (scope, element, attrs) { 
     $timeout(function() { 
     element[0].focus(); 
     if (window.cordova.plugins.Keyboard && ionic.Platform.isAndroid()) { 
      window.cordova.plugins.Keyboard.show(); //open keyboard manually on android 
     } 
     }, 1000); 
    } 
    }; 
}); 

auf Android und im Browser wie erwartet alles funktioniert, aber auf iOS gibt es keine Reaktion.

Antwort

0

Ich denke, dass Sie ionic.Platform.isIOS() hinzufügen, wie Sie innerhalb Ihrer Richtlinie konditionieren.

Grüße.

+0

Danke. Aber iOS benötigt die Anweisung 'window.cordova.plugins.Keyboard.show()' nicht. Wenn ich diese Funktion für iOS anrufe, warnt Xcode, dass 'element.focus()' genug ist. –

+0

Hat jemand an PJSIP gearbeitet? Ich steckte darauf vom letzten Monat – Eesha

+0

Sie versuchen mit 'native.keyboardshow'. Hier finden Sie weitere Informationen dazu: [link] (https://github.com/driftyco/ionic-plugin-keyboard#nativekeyboardshow) –

0

Haben Sie versucht, diese Zeile in der Datei config.xml hinzuzufügen?

<preference name="KeyboardDisplayRequiresUserAction" value="false" /> 
+0

Ja, ich habe diese Zeile hinzugefügt, aber es funktioniert auch nicht. –

Verwandte Themen