J'ai créé un écran de clavier personnalisé sur tvOS. Si possible, appuyez sur UITextField tel quel, je souhaite passer à la vue clavier personnalisée. Mais en appuyant sur UITextField, le clavier système s'affiche toujours. Que dois-je faire maintenant?
3 Réponses :
textField.inputView = UIView()
Merci pour votre réponse! J'ai essayé. Mais il s'est écrasé.C'est parce qu'il s'agit de tvos. *** Arrêt de l'application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: 'NSLayoutConstraint for
@flyoo - vous devriez mettre à jour votre question avec ces informations
@flyoo crée un UIView par programme et définit la contrainte, puis défini dans inputview. Je pense que ça marche
1) Faites en sorte que le contrôleur de vue implémente ce délégué: UITextFieldDelegate convenient 2) Renvoyez false dans func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
// HERE, open your keyboard or do whatever you want
return false
}
textFieldShouldBeginEditing code>, donc le champ de texte ne répond pas et le clavier ne s'ouvre pas. À la place, ouvrez le vôtre ou faites ce que vous voulez.
class YourViewController: UIViewController, UITextFieldDelegate {
// ...
yourTextField.delegate = self
// ...
}
Merci pour votre réponse! J'ai pu afficher mon clavier!
func textFieldDidBeginEditing(_ textField: UITextField) { textField.addTarget(self, action: #selector(gettextFieldFunction), for: UIControlEvents.touchDown) }