Ich benutze ein WKWebView, um eine Website zu laden und alles funktioniert gut. Ich habe jedoch keinen Zugriff auf die Eigenschaften der Tastatur, genauso wie bei einem Textfeld. Kann mir jemand auf einige Ressourcen verweisen, die mir den Zugriff auf Eigenschaften (über die GUI oder programmatisch) der Tastatur im Internet ermöglichen?Xcode 6 Swift WKWebView Tastatureinstellungen
Antwort
Die Text Programming Guide for iOS, hat einen Abschnitt Configuring the Keyboard for Web Views, die besagt folgende genannt:
Obwohl die UIWebView Klasse unterstützt nicht das UITextInputTraits Protokoll direkt, können Sie einige Tastatur-Attribute für Texteingabeelemente konfigurieren. Sie können z. B. die Attribute
autocorrect
undautocapitalize
in die Definition eines Eingabeelements aufnehmen, um das Verhalten der Tastatur anzugeben, wie im folgenden Beispiel gezeigt.<input type="text" size="30" autocorrect="off" autocapitalize="on">
Sie können auch Art der Tastatur steuern, welche angezeigt wird, wenn ein Benutzer ein Textfeld in einer Web-Seite berührt. Verwenden Sie zum Anzeigen einer Telefontastatur, einer E-Mail-Tastatur oder einer URL-Tastatur die Schlüsselwörter
tel
,url
für das Attribut type für ein Eingabeelement. Um eine numerische Tastatur anzuzeigen, setzen Sie den Wert des Musterattributs auf "[0-9]*
" oder "\d*
".Diese Schlüsselwörter und das Musterattribut sind Teil von HTML 5 und in iOS verfügbar. Die folgende Liste zeigt, wie jeder Tastaturtyp einschließlich der Standardtastatur angezeigt wird.
Text:
<input type="text"></input>
Telefon:<input type="tel"></input>
URL:<input type="url"></input>
E-Mail:<input type="email"></input>
Postleitzahl:<input type="text" pattern="[0-9]*"></input>
Das ist natürlich, löst nur einige sehr spezifische Probleme in einer begrenzten Anzahl von Situationen, aber soweit ich weiß, ist das alles, was wir arbeiten müssen, auch mit WKWebView
.
Ich hätte gerne jemanden, der mich falsch ausweist, und lässt uns wissen, wie man eine Tastaturzubehöransicht hinzufügt oder das Aussehen der Tastatur ändert, wenn es auf ein Formularelement in einer Webansicht in einer iOS-App fokussiert ist.
Ich habe eine HTML-Auth-Seite, die ich in WKWebView anzeigen. Die Autokorrektur-/Vorschlagsleiste erscheint über der Tastatur für das Feld Benutzername. Da ich die HTML nicht kontrollieren, habe ich den folgenden Swift 3-Code und Javascript, um das autocorrect Attribut hinzufügen, wie oben erwähnt:
var webView: WKWebView!
override func loadView() {
let autocorrectJavaScript = "var inputTextElement = document.getElementById('username');"
+ " if (inputTextElement != null) {"
+ " var autocorrectAttribute = document.createAttribute('autocorrect');"
+ " autocorrectAttribute.value = 'off';"
+ " inputTextElement.setAttributeNode(autocorrectAttribute);"
+ " }"
let userScript = WKUserScript(source: autocorrectJavaScript, injectionTime: .atDocumentEnd, forMainFrameOnly: false)
let webConfiguration = WKWebViewConfiguration()
webConfiguration.userContentController.addUserScript(userScript)
webView = WKWebView(frame: .zero, configuration: webConfiguration)
view = webView
}
Hinweis: Die Leiste oberhalb der Tastatur bleibt nach wie vor, mit anderen Optionen, nur nicht die Vorschläge.
- 1. XCode 6/Swift-Tastenbeschriftung
- 2. WKWebView Delegate Problem (Xcode 7.3 mit Swift)
- 3. WKWebView nicht in Xcode
- 4. Benutzerdefinierter NSValueTransformer in xcode 6 mit swift
- 5. acceptsFirstResponder in NSViewController und Xcode 6 - Swift
- 6. BecomesFirstResponder Respektiert nicht Tastatureinstellungen
- 7. Xcode 6 Beta Toolchain Fehler
- 8. Wie 6 Swift Inferred Typ in Xcode bestimmen
- 9. Benutzerdefinierte Tabellenansicht Zelle mit Swift in Xcode 6
- 10. Wie füge ich Pins (Anmerkungen) mit Xcode 6 (Swift) hinzu
- 11. Was macht "Swift Interface Summary" in Xcode 6 Jump Bars?
- 12. Ändern der BarButtonItem-Schriftart mit Swift (Xcode 6)
- 13. Wie ändert man den Schaltflächentext in Swift Xcode 6?
- 14. Get HTML von WKWebview in Swift
- 15. Zoom Storyboard (xcode 6)
- 16. Xcode 6 Instrumente einfrieren
- 17. Xcode 6 Gerätekonsolengröße?
- 18. Xcode 6 Größenklassen
- 19. Fehlender Xcode 6 Docset
- 20. Xcode 6 Eingebettete Binaries
- 21. Installiere iOS 6 Simulator auf Xcode 6
- 22. XCode Localize String Swift
- 23. Unwind Segue in Xcode 6 Beta 4
- 24. XCode 6 MFMailComposeViewController funktioniert NICHT
- 25. XCode 6 Tableiste Tabs ausgegraut
- 26. Disable Xcode 6 integriertes Snippet?
- 27. Xcode 6, XCTest, "Erwarteter Ausdruck"
- 28. xcode 6 iOS launchScreen.xib Lokalisierungsproblem
- 29. Xcode 6 nebeneinander Editor Ansicht
- 30. Xcode 6 - iPhone Crash-Protokolldatei
Welche Art von Einstellungen erwarten Sie? – techloverr