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

iOS开发笔记(1) -- 利用弹出键盘时使视图跟随键盘上移

2017-03-03 14:08 525 查看
思路就是自己写写一个UIView,然后监听键盘的事件,得到键盘的位置后调整自己写的view的位置,保证这个view的下边界与键盘的上边界相接。在自定义view中包含一个UITextField或者UITextView。通过代码调用其becomeFirstResponder(第一响应者)方法来弹出键盘。通过相应函数改变UIView的位置.

//设置监听事件

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil];


//键盘发生改变执行

- (void)keyboardWillChange:(NSNotification *)note
{
NSDictionary *userInfo = note.userInfo;
CGFloat duration = [userInfo[@"UIKeyboardAnimationDurationUserInfoKey"] doubleValue];

CGRect keyFrame = [userInfo[@"UIKeyboardFrameEndUserInfoKey"] CGRectValue];
CGFloat moveY = keyFrame.origin.y - self.view.frame.size.height-64;//这个64是我减去的navigationbar加上状态栏20的高度,可以看自己的实际情况决定是否减去;

[UIView animateWithDuration:duration animations:^{
self.view.transform = CGAffineTransformMakeTranslation(0, moveY);
}];


}

还有不足,仅供大家参考;第一次写博客,之后会随时更新一些自己用得到的和大家分享;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: