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

来源:互联网 发布:淘宝网首页小音箱 编辑:程序博客网 时间:2024/06/08 18:23

思路就是自己写写一个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);    }];

}

还有不足,仅供大家参考;第一次写博客,之后会随时更新一些自己用得到的和大家分享;

0 1
原创粉丝点击