处理键盘通知

来源:互联网 发布:软件定义物联网 编辑:程序博客网 时间:2024/05/16 01:09
先注册通知,然后实现具体当键盘弹出来要做什么,键盘收起来要做什么- (void)registerForKeyboardNotifications {    keyboardShown = NO;//标记当前键盘是没有显示的    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardWillShowNotification object:nil];    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasHidden:) name:UIKeyboardDidHideNotification object:nil];}//键盘显示要做什么- (void)keyboardWasShown:(NSNotification *)notification {    if (keyboardShown) {        return;    }    NSDictionary *info = [notification userInfo];    NSValue *aValue = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];    CGSize keyboardSize = [aValue CGRectValue].size;    CGRect viewFrame = scrollView.frame;    viewFrame.size.height = keyboardSize.height;    CGRect textFieldRect = activeField.frame;    [scrollView scrollRectToVisible:textFieldRect animated:YES];    keyboardShown = YES;}- (void)keyboardWasHidden:(NSNotification *)notification {    NSDictionary *info = [notification userInfo];    NSValue *aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];    CGSize keyboardSize = [aValue CGRectValue].size;    CGRect viewFrame = scrollView.frame;    viewFrame.size.height += keyboardSize.height;    scrollView.frame = viewFrame;    keyboardShown = NO;}

0 0
原创粉丝点击