Vous pouvez obtenir le clavier de la taille de l' userInfo
dictionnaire à l'aide de la UIKeyboardFrameBeginUserInfoKey et la UIKeyboardFrameEndUserInfoKey à la place.
Ces deux touches retour un NSValue
instance contenant un CGRect
qui détient la position et la taille du clavier à la fois le début et la fin de la clavier afficher/masquer de l'animation.
Edit:
Pour clarifier, l' userInfo
dictionnaire vient d'un NSNotification instance. Il est transmis à la méthode que vous vous inscrivez avec un observateur. Par exemple,
- (void)someMethodWhereYouSetUpYourObserver
{
// This could be in an init method.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myNotificationMethod:) name:UIKeyboardDidShowNotification object:nil];
}
- (void)myNotificationMethod:(NSNotification*)notification
{
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
}
Edit 2:
Aussi, s'il vous plaît n'oubliez pas de retirer vous-même en tant qu'observateur dans votre dealloc
méthode! C'est pour éviter un plantage qui pouvait se produire lors de la notification center tente de le notifier à votre objet après sa libération.