关于ios键盘遮挡输入框
关于ios键盘遮挡输入框<div id="cnblogs_post_body">今天我来讲一下键盘遮挡输入框时的解决方法。我做的一个界面是这样的
http://pic002.cnblogs.com/images/2012/417877/2012090322374933.png
我的输入框是在最下面,如果不做相关的操作的话,当编辑UITextField的时候,弹出键盘就会挡着输入框,那怎么解决这个问题呢,我们可以考虑让输入框随键盘一起向上移动,当关闭键盘时让输入框也一起向下移动回到原来的位置,这样就可以解决键盘挡着输入框的问题啦
下面看具体的代码实现:
在ios5.0之前呢键盘高度固定是216像素高,而ios5.0之后包括ios5.0键盘的高度再不是固定的,当由英文切换在中文输入时,键盘由原来的216变成了252
先说ios5.0之前的解决办法吧,我是通过UITextField的委托方法-(void)textFieldDidBeginEditing:(UITextField *)textField和另一个关掉键盘的方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField来实现的,点击键盘上的Return会关掉键盘的
<div class="cnblogs_code"> 1 - (void)textFieldDidBeginEditing:(UITextField *)textField 2 { 3 CGRect frame = textField.frame; 4 int offset = frame.origin.y +422 - (self.view.frame.size.height - 240);//键盘高度216 5 NSLog(@"offset is %d",offset); 6 NSTimeInterval animationDuration = 0.30f; 7 @"ResizeForKeyBoard" context:nil]; 8 ; 9 float width = self.view.frame.size.width;10 float height = self.view.frame.size.height;11 if(offset > 0)12 {13 CGRect rect = CGRectMake(0.0f, -offset,width,height);14 self.view.frame = rect;15 }16 ;17 }
页:
[1]