Come rilevare in quale app viene utilizzata la mia tastiera personalizzata e mostrare un pulsante diverso? E.g. in Twitter vorrei aggiungere @ alla stringa I post nel campo di input e in Reddit/r/Nella tastiera iOS personalizzata rileva l'app
risposta
Questo non è possibile. Un'estensione viene eseguita in modalità sandboxing e riceve solo informazioni dall'API e non può accedere ad altro. La tastiera può ricevere solo modifiche al contesto del testo e attivare/disattivare le chiamate. Essere in grado di rilevare un'app si trova all'esterno della sandbox di estensione e quindi è impossibile.
hai ragione ma c'è una soluzione alternativa (controlla i commenti sopra) –
'self. textDocumentProxy.keyboardType' dovrebbe funzionare. – Schemetrical
È possibile tramite il seguente codice. Come si otterrà identificativo fascio dell'app dove si sta usando la tastiera personalizzata ..
Swift
let hostBundleID = self.parentViewController!.valueForKey("_hostBundleID")
let currentHostBundleID = String(hostBundleID)
print(currentHostBundleID);
Da identificatore pacchetto è possibile trovare il nome dell'app facilmente.
Buona fortuna!
- 1. Tastiera personalizzata IOS. Come impostare caratteri speciali nella tastiera personalizzata
- 2. Rileva modifiche al tipo di tastiera nella tastiera personalizzata per iOS 8
- 3. iOS - Rileva backspace nella tastiera quando UITextField è vuoto
- 4. ios 8 tastiera personalizzata Cambia lingua nella pagina di impostazione
- 5. iOS 8.3 'UIView-Encapsulated-Layout-Width' nella tastiera personalizzata
- 6. Animazione altezza tastiera personalizzata in iOS 8
- 7. Impostazione della modalità tastiera nella tastiera personalizzata Android
- 8. Personalizza i suggerimenti quicktype nella tastiera iOS
- 9. Tastiera personalizzata iOS8 con storyboard
- 10. iOS - Come utilizzare l'ereditarietà nella cella personalizzata?
- 11. iOS AssistiveTouch animazione lenta quando si usa la tastiera personalizzata
- 12. iOS Crea tastiera personalizzata Genera tratti chiave standard per UITextField
- 13. Consentire l'accesso completo alla tastiera personalizzata in iOS
- 14. come aggiungere una chiave personalizzata alla tastiera in ios?
- 15. Tastiera iPhone personalizzata
- 16. Rileva layout tastiera con javascript
- 17. Android - Rileva la tastiera visibile?
- 18. Android: Rileva input tastiera utente inattività/Rileva (softkeyboard)
- 19. Rileva eliminazione evento tastiera in Android
- 20. Rileva iOS 8 Suggerimento suggerimento quicktype
- 21. Impedisci tastiera personalizzata nel campo di testo
- 22. nascondi tastiera ios
- 23. Rileva il tasto di ricerca della tastiera
- 24. Rileva evento precedente su tastiera Android
- 25. Android tastiera personalizzata tastiera pop-up sulla pressione lunga
- 26. Come visualizzare UIView sulla tastiera in iOS
- 27. Rileva ripetizioni nella stringa
- 28. NSUserDefaults non memorizza i valori tra l'app e la tastiera personalizzata in iOS 8
- 29. Layout di tastiera multipli in un'estensione per tastiera iOS
- 30. Nascondi la barra degli strumenti sopra l'estensione della tastiera personalizzata in iOS 9
Come detto Schemetrical, non è possibile determinare l'app in cui ci si trova (almeno, non si * dovrebbe * essere in grado di essere, e probabilmente qualsiasi risposta inviata qui sarebbe considerata una scappatoia e verrà risolta da Apple), ma tu * puoi * sapere che sei in un campo di testo in stile Twitter e rispondere in modo appropriato, il che potrebbe essere meglio che conoscere l'app, dal momento che ci sono API integrate da pubblicare su Twitter che possono essere utilizzate da qualsiasi app . –
@BenPious grazie per le ispirazioni! Apprezzo qualsiasi indizio su "campo di testo in stile Twitter" –
Hai accesso all'API a un oggetto (non ricordo quale) che implementa questo protocollo: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/ –