文本框跟随键盘弹起

-(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;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容