nsnotificationcenter: notification when the keyboard appears and disappears
uikeyboardwillshownotification; uikeyboarddidshownotification; uikeyboardwillhidenotification; uikeyboarddidhidenotification;
receive notification of keyboard events in the view controller that you want to use the keyboard (both in viewdidload):
-(void) registerforkeyboardnotifications
{
When the keyboard changes, it calls
[[Nsnotificationcenter Defaultcenter] addobserver:self selector: @selector (keyboardwasshown:) Name: Uikeyboardwillchangeframenotification Object:nil];
The keyboard is closed to call
[[Nsnotificationcenter Defaultcenter] addobserver:self selector: @selector (keyboardwashidden:) Name: Uikeyboarddidhidenotification Object:nil];
}
-(void) Keyboardwasshown: (nsnotification *) Notif
{
nsdictionary *info = [Notif userInfo];
nsvalue *value = [info objectforkey:uikeyboardframeenduserinfokey];
cgsize keyboardsize = [value cgrectvalue].size;
_namefield.frame=cgrectmake (5, self.view.frame.size.height-keyboardsize.height-30, 155, 30);
_sexfield.frame=cgrectmake (self.view.frame.size.height-keyboardsize.height-30, 155, 30 );
}
-(void) Keyboardwashidden: (nsnotification *) Notif
{
nsdictionary *info = [Notif UserInfo];
nsvalue *value = [info objectforkey:uikeyboardframebeginuserinfokey];
cgsize keyboardsize = [value cgrectvalue].size;
NSLog (@ "Keyboardwashidden keyboard:%f", keyboardsize.height);
//Keyboardwasshown = NO;
_namefield.frame=cgrectmake (5, 269, 155, 30);
_sexfield.frame=cgrectmake (160, 269, 155, 30);
}