iOS键盘高度自适应(中英文输入)

一:添加通知监测键盘高度变化

   [self keyBoardAutoSize];

二:动态改变高度

#pragma mark keyboard height auto
/*
 NSNotificationCenter:键盘出现、消失时的通知
  
  
 UIKeyboardWillShowNotification;
 UIKeyboardDidShowNotification;
 UIKeyboardWillHideNotification;
 UIKeyboardDidHideNotification;
  
 */
 
- (void) keyBoardAutoSize
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardShow:) name:UIKeyboardWillShowNotification object:nil];
 
}
 
 
- (void)keyBoardShow:(NSNotification *) notif
{
    NSDictionary *info = [notif userInfo];
    NSValue *value = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGSize keyboardSize = [value CGRectValue].size;
     
    NSLog(@"keyBoard:%f", keyboardSize.height);  //216
         
    if (keyboardSize.height==216) {
        [UIView animateWithDuration:0.25 animations:^{
            bottomInput.top = kScreenHeight - 74 - keyboardSize.height;
        }];
    }
    //中文状态输入 252
    else if (keyboardSize.height== 252 )
    {
        [UIView animateWithDuration:0.1 animations:^{
            bottomInput.top = kScreenHeight - 74 - keyboardSize.height;
        }];
        
    }
     
  
}

  

三:移除通知

- (void)dealloc

{

    [_hubTip release];

     [[NSNotificationCenterdefaultCenter]removeObserver:selfname:UIKeyboardWillShowNotificationobject:nil];

    [super dealloc];

}

posted @   cocoajin  阅读(849)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示