2013-08-05 3 views
1

J'écris une application où je laisse l'utilisateur éditer du contenu dans une vue de texte, et je veux ajouter un bouton de rejet, pour permettre à l'utilisateur de sauvegarder ses modifications, sans pirater pour fermer le clavier. Je suis familier avec le fait de fermer le clavier par programme et tout. Le seul vrai problème que j'ai maintenant, est un problème de conception. Je veux laisser l'utilisateur cliquer sur un bouton comme dans l'application Notes, mais je n'ai pas de UINavigationBar.Démission du premier répondeur UITextView. UINavigationBar temporaire?

Est-il possible de créer une barre de navigation temporaire et de lui assigner un bouton "done"?

Je vais implémenter cela dans un UIView personnalisé, donc il devrait être indépendant du contrôleur. Ce que je veux dire, c'est que je ne sais pas s'il y a un UInavigationBar présent dans le contrôleur actuel. Donc, cela doit être traité avant d'ajouter le temporaire.

Toute aide est appréciée.

+1

Une option serait de créer un UIToolbar avec le bouton rejeter et définissez-le comme la propriété inputAccessoryView du clavier. – geraldWilliam

Répondre

1

Quelque chose comme cela fonctionne bien pour ce que vous décrivez:

Dans viewDidLoad:

UIToolbar *inputToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonTapped)]; 
[inputToolbar setItems:[NSArray arrayWithObject:doneButton]]; 

self.theTextView.inputAccessoryView = inputToolbar; 

Dans doneButtonTapped

[self.view endEditing:YES]; 
+0

c'est ce que j'ai fini avec. Juste avec le bouton plaqué à droite :) – chrs

Questions connexes