94 votes

Par programme aligner une barre d’outils au-dessus du clavier de l’iPhone

Dans plusieurs cas, je veux ajouter une barre d'outils en haut de l'iPhone clavier (comme dans l'iPhone Safari lorsque vous naviguez dans les éléments de formulaire, par exemple).

Actuellement, je suis en précisant la barre d'outils de rectangle avec des constantes, mais parce que d'autres éléments de l'interface sont en flux - barres d'outils et les barres de navigation en haut de l'écran chaque fois que nous faisons un mineur de l'interface changement, la barre d'outils est hors de l'alignement.

Est-il un moyen de déterminer par programme la position du clavier par rapport à la vue actuelle?

141voto

tonklon Points 5687

À partir d’iOS 3.2, il y a une nouvelle façon de réaliser cet effet :

et ont une `` propriété, laquelle peut être définie à n’importe quel affichage, qui est automatiquement affiché ci-dessus et animé avec le clavier.

Notez que la vue que vous utilisez ne doit ni être dans la hiérarchie d’affichage ailleurs, ni vous devez l’ajouter aux quelques superview, cela est fait pour vous.

60voto

Irene Points 6076

Ceci est basé sur la réponse existante de tonklon - j’ai juste ajouté un extrait de code qui montre une semi transparent noir barre d’outils au-dessus du clavier, ainsi qu’un bouton « terminé » sur la droite :

et le `` ressemble à :

Espoir qui aide quelqu'un.

24voto

amrox Points 5371

Si vous vous inscrivez pour les notifications de clavier, c’est à dire `` , etc., la notification vous recevez contiendra les limites du clavier dans le dict ( `` ).

Voir la `` classe de référence.

16voto

David Beck Points 4329

En 3.0 et surtout vous pouvez obtenir la durée de l’animation et la courbe de la `` dictionnaire des notifications.

par exemple, pour animer la taille de l’affichage pour faire de la place pour le clavier, vous inscrire à la `` et faire quelque chose comme ce qui suit :

Faire une animation semblable pour `` .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X