53 votes

Quelle est la hauteur du clavier à l'écran de l'iPad ?

Je cherche deux chiffres ici : la hauteur en portrait et la hauteur en paysage. Ne répondez pas en cm ou en pouces, mais plutôt en pixels.

2 votes

Vous pouvez facilement faire deux captures d'écran et mesurer.

2 votes

OP s'il vous plaît changer la réponse correcte à l'une des réponses qui détermine le cadre par programme. En outre, vous ne pouvez pas spécifier des pixels, mais plutôt des points sur iOS.

0 votes

Si vous cherchez la hauteur, mais pas la hauteur trouvée par le programme, alors votre question est mal formulée. Voulez-vous le clavier anglais ? Le clavier inversé ? La hauteur avec remplissage automatique activé ? Ou même les nouveaux claviers d'iOS 8 ? De plus, si vous ne voulez pas une réponse programmatique, ne posez pas la question sur stackoverflow. La plupart des développeurs qui tombent sur cette question et la réponse acceptée vont être mal orientés. Du point de vue du développement, vous devriez toujours trouver la hauteur de manière programmatique. Du point de vue de la conception, trouvez une règle en pixels et mesurez-la.

120voto

thelaws Points 4446

La hauteur du portrait est de 264 et celle du paysage de 352.

Je sais que c'est une réponse tardive, mais je viens de tomber sur cette question moi-même.

0 votes

Ne vous inquiétez pas si la réponse est en retard. J'accepterai cette réponse dès que j'aurai validé la hauteur :)

0 votes

C'est correct pour le clavier anglais. Désolé de ne pas avoir validé la hauteur plus tôt.

8 votes

C'est une mauvaise réponse. Il ne faut jamais coder en dur ces valeurs de pixels, car elles pourraient être modifiées dans les prochaines versions. Par exemple, Apple pourrait modifier les dimensions des claviers de quelques pixels, introduire de nouvelles formes de clavier (comme le clavier divisé) ou des tailles différentes pour différentes langues. Elle pourrait également proposer des écrans de résolution différente (comme l'écran Retina). Dans tous ces cas, l'effet souhaité de votre code pourrait être rompu. Il serait beaucoup plus judicieux d'utiliser l'une des solutions dynamiques proposées par les autres réponses.

55voto

user629328 Points 447
- (void) keyboardWasShown:(NSNotification *)nsNotification {
    NSDictionary *userInfo = [nsNotification userInfo];
    CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;

    NSLog(@"Height: %f Width: %f", kbSize.height, kbSize.width);
    // Portrait:    Height: 264.000000  Width: 768.000000
    // Landscape:   Height: 352.000000  Width: 1024.000000
}

1 votes

+1 pour cette réponse - montre comment la hauteur est renvoyée comme ce qui est supposé être la largeur en Paysage. J'ai remarqué que j'obtenais une hauteur de 1024 comme hauteur et 352 comme largeur, en paysage, ce qui me semblait bizarre, jusqu'à ce que je voie cette réponse. Merci

1 votes

La réponse est incomplète.

4 votes

En quoi est-ce incomplet/pas évident ?

30voto

jcampbell1 Points 1888

La réponse est : cela dépend .

Je sais que le clavier peut avoir 16 hauteurs différentes et qu'il peut être dans n'importe quelle position.

C'est différent pour :

  1. paysage/portrait,
  2. webview/non-webview,
  3. style de sélection de caractères asiatiques, langage régulier
  4. clavier divisé / non divisé

J'ai joint une image montrant différentes configurations possibles.

sample ipad keyboard configurations

Plutôt que d'énumérer les 16 possibilités, je pense que vous voulez observer UIKeyboardWillShowNotification / UIKeyboardWillHideNotification y UIKeyboardDidChangeFrameNotification (iOS 5.0+), puis récupérer le cadre du clavier à partir de ces événements.

17voto

Kris Van Bael Points 179

Sur l'iPad, la taille du clavier peut également dépendre de la langue (par exemple, le clavier japonais est plus grand). Une autre raison de l'interroger par programme.

0 votes

Les claviers chinois sont également plus grands, car il s'agit de mots à choisir en fonction de la saisie.

6voto

James Bedford Points 10691

Vous pouvez obtenir la hauteur du clavier à partir du userInfo dictionnaire renvoyé par la notification du clavier will/did show/hide, tel que fourni par la classe UIWindow ( lien vers le guide de référence ). C'est une bien meilleure façon d'obtenir la hauteur que le codage en dur, car vous bénéficiez des avantages suivants :

  • Indépendance du dispositif (iPhone/iPod ou iPad)
  • Indépendance de la résolution (écran de l'iPhone 3G/écran de la rétine/écran de l'iPad/futurs écrans).
  • Indépendance du type/style de clavier (les différents claviers à l'écran peuvent avoir des tailles différentes).

En fait, les réponses à cette question qui donnent un nombre exact ont très probablement obtenu ce nombre en consultant les résultats retournés dans ce dictionnaire !

1 votes

Bien sûr, mais des extraits ont déjà été fournis par d'autres, alors c'est bon :)

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