美文网首页
iOS键盘出现/消失通知

iOS键盘出现/消失通知

作者: Realank | 来源:发表于2016-02-22 09:33 被阅读3585次

    首先,添加和移除通知

    
    - (void)viewDidAppear:(BOOL)animated{
        [super viewDidAppear:animated];
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(keyboardWillShow:)
                                                     name:UIKeyboardWillShowNotification
                                                   object:nil];
        
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(keyboardWillHide:)
                                                     name:UIKeyboardWillHideNotification
                                                   object:nil];
    }
    
    - (void)viewDidDisappear:(BOOL)animated {
        [super viewDidDisappear:animated];
        [[NSNotificationCenter defaultCenter] removeObserver:self
                                                        name:UIKeyboardWillShowNotification
                                                      object:nil];
        
        [[NSNotificationCenter defaultCenter] removeObserver:self
                                                        name:UIKeyboardWillHideNotification
                                                      object:nil];
    }
    

    之后,响应通知

    - (void)keyboardWillShow:(NSNotification *)notification {
        
        NSDictionary *userInfo = [notification userInfo];
        NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
        
        CGRect keyboardRect = [aValue CGRectValue];
        keyboardRect = [self.view convertRect:keyboardRect fromView:nil];
        
        keyboardHeight = keyboardRect.size.height;
        
        CGRect frame = self.view.bounds;
        frame.size.height -= keyboardHeight;
        self.contentScrollView.frame = frame;
        self.contentScrollView.contentSize = CGSizeMake(SCREEN_WIDTH, CGRectGetMaxY(self.confirmBtn.frame)+ 20);
    }
    
    - (void)keyboardWillHide:(NSNotification *)notification {
        
        keyboardHeight = 0;
        
        self.contentScrollView.frame = self.view.bounds;
    //    self.contentScrollView.contentSize = self.view.bounds.size;
    }
    

    相关文章

      网友评论

          本文标题:iOS键盘出现/消失通知

          本文链接:https://www.haomeiwen.com/subject/jrhbkttx.html