UIKeyBoard redimensionner sur le changement d'orientation de paysage
C'est très recrue question. J'ai un UIToolBar en bas qui est censé animation déplacer vers le haut et vers le bas avec la clé de bord lorsque le UIKeyBoard est affiché. J'ai obtenu ce travail avec l'aide de UIKeyBoard Notifications. La vue que nous parlons a la vue fractionnée activé. Lorsque le dispositif d'orientation est paysage, à la fois le point de vue que les colonnes sont affichées [l'espoir qui fait sens].
Lorsque le clavier est affiché, j'ai fais ce
CGSize keyBoardSize = [[notificationInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;
CGRect toolbarFrame= [BottomToolBar frame];
toolbarFrame.origin.y -= keyBoardSize.height;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
BottomToolBar .frame = viewFrame;
[UIView commitAnimations];
lorsque la carte clé est hiiden je fais ce
toolbarFrame.origin.y += keyBoardSize.height;
Mon Problème est que lorsque le dispositif d'orientation des changements de paysage, lorsque le conseil d'administration est visible en bas de la barre d'outil est allé. Je le vois se déplacer rapidement. Je ne suis pas sûr de la façon de résoudre ce problème. Quelqu'un peut-il aider s'il vous plaît? Aussi, est-il un moyen de ne PAS faire la clé de conseil couvrent à la fois les points de vue dans le mode split?
OriginalL'auteur Dave | 2010-03-19
Vous devez vous connecter pour publier un commentaire.
J'ai ce problème aussi, tout ce que je peux penser à est de rejeter le clavier et reshowing (démissionner et devenir ensuite des premiers intervenants à nouveau). Mais cela semble très insatisfaisante.
Remarque aussi, vous devez être convertir le rect à partir des coordonnées de l'écran à l'affichage de coordonnées. (Coordonnées de l'écran ne tourne pas.)
Mise à JOUR: vous devez Vous inscrire pour UIKeyboardWillShowNotification, votre action sera appelée lorsque l'interface tourne 🙂
Voir aussi:
https://devforums.apple.com/message/181482#181482
OriginalL'auteur Corin
Pour info: Vous pouvez utiliser à portée de main
UIDeviceOrientationIsPortrait
macro, plutôt que les grandesswitch
etcase
monstre. 🙂OriginalL'auteur Thorsten Branaschky
UITextFields ont un inputAccessoryView propriété qui permet l'ajout d'un UIToolBar au-dessus de la UIKeyboard.
Pas de problème, il suffit de mettre la barre d'outils au bas de la inputAccessoryView et vous avez terminé.
OriginalL'auteur geekinit
OriginalL'auteur Tom Albrecht
Ces réponses fonctionnent bien, sauf pour les claviers externes. Lorsqu'un clavier matériel est présent, il semble que la "hauteur" de la propriété du clavier de l'image transmise dans le message est toujours le même, comme il le serait avec un clavier virtuel, ce qui signifie ce code soustrait la hauteur à partir du point de vue image par inexistante du clavier (la création d'une problématique de l'espace).
La meilleure solution que j'ai trouvé est d'avis que le "y" de la propriété du clavier de l'image est spécifiée pour être au bas de l'écran (ce qui implique que le clavier virtuel est effectivement présent, juste à côté de l'écran).
OriginalL'auteur Zane Claes
La solution est de mettre l'option
UIViewAnimationOptionBeginFromCurrentState
pour le bloc d'animation, oudans votre cas. Puis la vue ne sera pas obtenir un mouvement brusque lors de la modification de l'orientation de portrait à paysage.
OriginalL'auteur lk_vc