iOS键盘通知弹框使用小结
创始人
2024-04-11 10:04:28

项目开发中文本框输入的时候经常会用到键盘弹框遮挡的问题。解决办法就是根据底部键盘弹出的高度动态的改变对应view的位置。这里以多行文本框输入为例,效果图如下。

  

  //第一步,注册监听键盘通知

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

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

  //第二步,根据通知调整对应view的位置

  

#pragma mark - 键盘的通知

- (void)keyboardShow:(NSNotification *)notify

{

 //获取键盘弹框的位置信息

    CGRect keyBoardRect = [notify.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

    CGFloat deltaY = keyBoardRect.size.height/2;

 //添加动画效果,向上偏移键盘高度的二分之一

    [UIView animateWithDuration:[notify.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue] animations:^{

        self.bottomView.transform = CGAffineTransformMakeTranslation(0, -deltaY);

    }];

}

- (void)keyboardHide:(NSNotification *)note

{

 //位置还原

    [UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue] animations:^{

        self.bottomView.transform = CGAffineTransformIdentity;

    } completion:^(BOOL finished){

    }];

}

  //第三步,不用的时候移除掉通知对象 

  

-(void)dealloc{

    [[NSNotificationCenter defaultCenter]removeObserver:self];

}

 

相关内容

热门资讯

2026全球科技创新趋势与风险...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:第一财经资讯...
威海市属事业单位公开招聘! 转自:威海发布2026年度威海市市属事业单位公开招聘初级综合类岗位人员公告根据事业单位公开招聘有关规...
黄金能“长”出来?广州科学家首... 转自:大湾区之声黄金并非在烈焰中诞生,而是从一块平凡矿石的表面,静静地“生长”出来。最近,中国科学院...
A股午评:三大指数收跌,航天航... 2026年1月22日午间收盘,今日三大指数集体高开,随后冲高回落转跌。截至午间收盘,上证指数0.15...
2025年厦门海关查扣侵权嫌疑... 中新社厦门1月22日电 (林永传 沈瑀彤)厦门海关22日消息,2025年,厦门海关查获涉嫌侵权货物1...