您的位置:首页 > 移动开发 > IOS开发

iOS5的键盘高度问题处理

2012-07-02 20:36 330 查看
如果你将你的设备升级到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位置

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐