Comment puis-je donner un UITextView focus par programmation?
Donc, je tiens à apporter un modal-vue-contrôleur qui a un UITextView en elle et je veux le clavier automatiquement les popups et le UITextView ont le focus.
J'ai trouvé un moyen d'atteindre cet objectif en procédant de la manière suivante:
textView.editable = YES;
textView.editable = NO;
Cela semble juste hacky pour moi, est-il une autre voie?
Vous devez vous connecter pour publier un commentaire.
Depuis
UITextView
hérite deUIResponder
(indirectement, en effet, il hérite deUIScrollView
, qui hérite de l'UIView
qui puis hérite deUIResponder
), vous pouvez appeler le-becomeFirstResponder
méthode sur votre champ de texte, qui va l'amener à devenir le premier intervenant et de commencer l'édition:Swift:
Qui ne semblent quelque peu hackish.
Le Cocoa Touch terminologie pour la "focalisation" est "first responder" et
UITextView
s vont afficher leurs claviers quand ils sont les premiers intervenants. Je peux penser à plusieurs techniques pour faire de l'UITextView devenir le premier intervenant, mais le plus simple est probablement de votre point de vue du contrôleur de viewWillAppear ou viewDidAppear méthodes:Lorsque vous souhaitez mettre l'accent particulier TextView sur le chargement d'une ViewController, vous pouvez placer le textView.becomeFirstResponder() dans le ViewDidLoad l'emportait sur la touche func comme ci-dessous:
Je trouve que cela fonctionne sans erreurs