iOS5的键盘高度问题处理

        如果你将你的设备升级到iOS5,就你会发现,在新系统下,中文输入法的选字界面不再跟随光标了,而是固定贴在键盘的上方。这种设计上的改变造成实际上输入的界面相比原来的系统,高度增加了,由原来的216象素,变成252象素。并且,由于中文输入法的多样性(手写,拼音,笔划),键盘高度并不是固定升高成252象素,例如手写输入法的选字界面在右侧,所以高度仍然为216象素。

       所以,如果你的app在键盘的正上方有内容显示的话,就需要根据键盘高度,调整显示的内容。      

      例如下图,有道笔记的“附件”按钮和“隐藏键盘”按钮就浮动在键盘的正上方,如果不做调整,就会被多出来一行的选字界面挡住。              


那么具体怎么解决呢?可以用 UIKeyboardWillShowNotification通知来获得当键盘改变时,该键盘的高度和位置。然后调整自己相应的UI元素位置即可,示例代码如下:

-(void)viewDidLoad{

   [superviewDidLoad];

   [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotificationobject:nil];

}

-(void)viewDidUnload{

   [superviewDidUnload];

   [[NSNotificationCenterdefaultCenter]removeObserver:self];

}

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

   NSDictionary*info=[notificationuserInfo];

   CGSizekbSize=[[infoobjectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;

   NSLog(@"keyboard changed, keyboard width = %f, height = %f", 

          kbSize.width,kbSize.height);

   //在这里调整UI位置

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值