文本框跟随键盘弹起

-(void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    //系统发出的键盘通知有哪些

//    UIKeyboardWillShowNotification

//    UIKeyboardWillHideNotification

//    UIKeyboardDidHideNotification

//    UIKeyboardDidShowNotification

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closekeyboard:) name:UIKeyboardWillHideNotification object:nil];


}

- (void)viewDidDisappear:(BOOL)animated{

    [superviewDidDisappear:animated];

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

}

-(void)showKeyboard:(NSNotification*)notification{

    //打印键盘的布局样式信息

    NSLog(@"%@",notification.userInfo);


    NSInteger option = [notification.userInfo [UIKeyboardAnimationCurveUserInfoKey] integerValue];

    NSTimeInterval duration = [notification.userInfo [UIKeyboardAnimationDurationUserInfoKey] floatValue];

    CGFloat height = [notification.userInfo [UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;

    self.bottomConstraint.constant = height;

    [UIView animateWithDuration:duration delay:0 options:option animations:^{

        [self.view layoutIfNeeded];

    }completion:nil];

}

-(void)closekeyboard:(NSNotification*)notification{

    self.bottomConstraint.constant = self.textFieldConstant;

}

你可能感兴趣的:(文本框跟随键盘弹起)