哈密市美迪宝网络科技有限公司
首页 | 联系方式 | 加入收藏 | 设为首页 | 手机站

产品目录

联系方式

联系人:业务部
电话: 00135-296606
邮箱:service@wuhanhzhg.com

当前位置:首页 >> 新闻中心 >> 正文

IOS 键盘弹出遮挡输入框使view上移

字号:
摘要:IOS 键盘弹出遮挡输入框使view上移

有时候输入框在屏幕下方,键盘弹出遮挡了输入框有种盲输入的赶脚,那我们就可以把视图向上移动让它露出来。


首先在viewDidLoad中注册键盘显隐通知

//注册键盘弹出通知

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWillShow:)

name:UIKeyboardWillShowNotification

object:nil];

//注册键盘隐藏通知

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWillHide:)

name:UIKeyboardWillHideNotification

object:nil];

//键盘弹出后将视图向上移动

-(void)keyboardWillShow:(NSNotification *)note

{

NSDictionary *info = [note userInfo];

CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;

//目标视图UITextField

CGRect frame = passwordTF.frame;

int y = frame.origin.y + frame.size.height - (self.view.frame.size.height - keyboardSize.height);

NSTimeInterval animationDuration = 0.30f;

[UIView beginAnimations:@"ResizeView" context:nil];

[UIView setAnimationDuration:animationDuration];

if(y > 0)

{

self.view.frame = CGRectMake(0, -y, self.view.frame.size.width, self.view.frame.size.height);

}

[UIView commitAnimations];

}


//键盘隐藏后将视图恢复到原始状态

-(void)keyboardWillHide:(NSNotification *)note

{

NSTimeInterval animationDuration = 0.30f;

[UIView beginAnimations:@"ResizeView" context:nil];

[UIView setAnimationDuration:animationDuration];

self.view.frame =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

[UIView commitAnimations];

}