-(void) registerforkeyboardnotifications {[[Nsnotificationcenter defaultcenter] addobserver:self selector: @selector (keyboardwasshown:) name:uikeyboarddidshownotification Object:nil]; [[Nsnotificationcenter Defaultcenter] addobserver:self selector: @selector (keyboardwillbehidden:) Name: Uikeyboardwillhidenotification Object:nil];} -(void) unregisterforkeyboardnotifications {[[Nsnotificationcenter Defaultcenter] removeobserver:self name: Uikeyboardwillshownotification Object:nil]; [[Nsnotificationcenter Defaultcenter] removeobserver:self name:uikeyboardwillhidenotification object:nil];} -(void) Viewwillappear: (BOOL) animated {[Self registerforkeyboardnotifications]; _viewframe = _inputdiaryview.frame;} -(void) Viewdiddisappear: (BOOL) animated {[Self unregisterforkeyboardnotifications];} -(void) Keyboardwasshown: (nsnotification *) anotification {CGRect keyboardrect = [[[Anotification UserInfo] Objectforke Y:uikeyboardframeenduserinfokey] Cgrectvalue]; Nstimeinterval ANimationduration = [[[Anotification UserInfo] objectforkey:uikeyboardanimationdurationuserinfokey] doubleValue]; [UIView Beginanimations:textview_keyboard Context:nil]; [UIView setanimationduration:animationduration]; _inputdiaryview.frame = CGRectMake (0, _viewframe.origin.y-keyboardrect.size.height, _viewFrame.size.width, _ ViewFrame.size.height); [UIView commitanimations];} -(void) Keyboardwillbehidden: (nsnotification *) anotification{nstimeinterval animationduration = [[[ANotification] UserInfo] Objectforkey:uikeyboardanimationdurationuserinfokey] doublevalue]; [UIView Beginanimations:textview_keyboard Context:nil]; [UIView setanimationduration:animationduration]; _inputdiaryview.frame = _viewframe; [UIView commitanimations];}
_viewframe: Is the frame of Uitextview's parent control
_inputdiaryview is the parent control of Uitextview
iOS Keyboard blocking Uitextview solutions