Utilizzo un WKWebView per caricare un sito Web e tutto funziona correttamente. Tuttavia, non ho accesso alle proprietà della tastiera nello stesso modo in cui lo faccio con un campo di testo. Qualcuno può indicarmi alcune risorse che mi aiuteranno ad accedere alle proprietà (tramite la GUI o programmaticamente) della tastiera sul web?Xcode 6 Swift Impostazioni tastiera WKWebView
risposta
Il Text Programming Guide for iOS, ha una sezione chiamata Configuring the Keyboard for Web Views che indica quanto segue:
Sebbene la classe UIWebView non supporta direttamente il protocollo UITextInputTraits, è possibile configurare alcuni attributi della tastiera per gli elementi di inserimento del testo. Ad esempio, è possibile includere gli attributi
autocorrect
eautocapitalize
nella definizione di un elemento di input per specificare i comportamenti della tastiera, come illustrato nell'esempio seguente.<input type="text" size="30" autocorrect="off" autocapitalize="on">
È inoltre possibile controllare quale tipo di tastiera viene visualizzato quando un utente tocca un campo di testo in una pagina Web. Per visualizzare una tastiera del telefono, una tastiera e-mail o una tastiera URL, utilizzare le parole chiave
tel
,url
rispettivamente per l'attributo type su un elemento di input. Per visualizzare una tastiera numerica, impostare il valore dell'attributo pattern su "[0-9]*
" o "\d*
".Queste parole chiave e l'attributo pattern fanno parte di HTML 5 e sono disponibili in iOS. L'elenco seguente mostra come visualizzare ciascun tipo di tastiera, inclusa la tastiera standard.
Testo:
<input type="text"></input>
Telefono:<input type="tel"></input>
URL:<input type="url"></input>
Email:<input type="email"></input>
CAP:<input type="text" pattern="[0-9]*"></input>
Questo, naturalmente, risolve solo alcuni problemi molto specifici in un numero limitato di situazioni, ma per quanto ne so è tutto ciò con cui dobbiamo lavorare, anche con WKWebView
.
Mi piacerebbe che qualcuno mi dimostrasse che ci sbagliavo e ci ha permesso di sapere come aggiungere una vista da tastiera o modificare l'aspetto della tastiera quando si concentra su un elemento del modulo all'interno di una vista Web in un'app iOS.
Ho una pagina di autenticazione HTML che visualizzo in WKWebView. La barra di correzione automatica/suggerimento appare sopra la tastiera per il campo del nome utente. Dato che io non controllo il codice HTML, ho usato il seguente codice Swift 3 e JavaScript per aggiungere l'attributo di correzione automatica come detto sopra:
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
}
Nota: La barra sopra la tastiera rimane, con le altre opzioni, non solo i suggerimenti.
- 1. Cambia carattere BarButtonItem utilizzando Swift (Xcode 6)
- 2. Xcode 6- SWIFT- Fusioni CMTime come float
- 3. Xcode 6 - Swift - Tabbar personalizzata con Navigazione
- 4. Dimensioni scena in Xcode 6/SpriteKit/Swift
- 5. Xcode 6 Beta/Swift - Playground non aggiornato
- 6. WKWebView non in Xcode
- 7. Xcode 6 iOS Simulator non ricorda le impostazioni dell'app
- 8. Come modificare il testo del pulsante in Swift Xcode 6?
- 9. Come aggiungere pin (annotazioni) con Xcode 6 (Swift)
- 10. Cosa fa "Swift Interface Summary" in Xcode 6 Jump Bars?
- 11. Cella di visualizzazione tabella personalizzata con swift in xcode 6
- 12. Come aggiungere un'immagine in Storyboard in Xcode 6 in Swift?
- 13. Xcode 6 Beta toolchain errore
- 14. In Xcode 6, come utilizzare la tastiera hardware ma visualizzare la tastiera software nel simulatore iOS
- 15. Ottieni HTML da WKWebview in Swift
- 16. Xcode: impostazioni del progetto e impostazioni target
- 17. XCode localize string Swift
- 18. Xcode 6 embedded binari
- 19. Installare iOS 6 simulatore Xcode 6
- 20. Come nascondere un pulsante in Xcode 6?
- 21. Errore Xcode 6 'URLWithString' non è disponibile?
- 22. UISplitViewController in XCode 6 per iOS 7
- 23. WKWebView
- 24. Apple Swift Datepicker come tastiera
- 25. Xcode 6 crea avvertimenti storyboard
- 26. Ridenominazione dell'app in Xcode 6
- 27. Xcode 6, XCTest, "Espressione attesa"
- 28. Xcode 6 in crash yosemite
- 29. symbolicatecrash da XCODE 6 GM
- 30. Xcode 6 - Modello senza storyboard
Che tipo di impostazioni ti aspetti? – techloverr