iOS监听键盘事件

#pragma mark - view life cycle
- (void)viewDidLoad {
    [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}#pragma mark - 通知
/**
 *   键盘弹出
 */
- (void)keyboardWillShow:(NSNotification *)note
{

    // 1.取出键盘的高度
    CGRect temp  = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
    CGFloat height = temp.size.height;
    // 2.让工具条向上平移
    // 2.1取出键盘弹出的动画时间
    NSTimeInterval timte = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    [UIView animateWithDuration:timte delay:0 options:7 << 16 animations:^{
        self.bottomBar.transform = CGAffineTransformMakeTranslation(0, -height);
    } completion:nil];

}
/**
 *  键盘隐藏
 */
- (void)keyboardWillHide:(NSNotification *)note
{
    // 2.1取出键盘弹出的动画时间
    NSTimeInterval timte = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

    // 清空transform
    [UIView animateWithDuration:timte delay:0 options:7 << 16 animations:^{

        self.bottomBar.transform = CGAffineTransformIdentity;
    } completion:nil];

}
时间: 2024-10-26 13:27:10

iOS监听键盘事件的相关文章

Js监听键盘事件

表单提交的时候大多数用户都习惯用回车键来进行提交,页面接受回车键的处理如下: if(navigator.userAgent.indexOf("MSIE")>0) {   //IE document.onkeydown=function(){ if(13 == event.keyCode){ alert('browser is ie and enter key down'); } } }else{   //非IE window.onkeydown=function(){ if(13

监听键盘事件

注册监听键盘事件: 1 // 键盘即将隐藏 2 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 3 4 // 键盘已经隐藏 5 [[NSNotificationCenter defaultCenter] addObserver:self selector:@sel

注册监听键盘事件的通知

注册监听键盘事件的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShow:) name:UIK

iOS 监听键盘高度,输入框上升

1 //设置输入框 ---<因为输入框用了get方法,所以第一次调用输入框要用self 调用>: 2 self.textlab.frame=CGRectMake(20, 420, 250, 30); 3 _textlab.layer.borderColor=[UIColor blueColor].CGColor; 4 _textlab.layer.borderWidth= 0.5f; 5 _textlab.backgroundColor=[UIColor colorWithRed:0.830

IOS 监听键盘的通知

通知方法: /** * 当键盘改变了frame(位置和尺寸)的时候调用 */ - (void)keyboardWillChangeFrame:(NSNotification *)note { // 设置窗口的颜色 self.view.window.backgroundColor = self.tableView.backgroundColor; // 0.取出键盘动画的时间 CGFloat duration = [note.userInfo[UIKeyboardAnimationDuration

jQuery监听键盘事件及相关操作使用

一.首先需要知道的是: 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件 3.keypress() keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键 二.获得键盘上对应的ascII码: $(document).keydown(function(event){ console.log(event.keyCode); }); tips: 上面例子中,event.keyCode就

在div监听键盘事件获取不到的问题

在给如div等元素绑定键盘事件(如keydown)时, 会发现绑定是失效的. 解决方法: 给当前元素增加 tabindex 属性: 原理: div等非输入性质的元素(与其对应的可输入性元素有input, textarea), 是不可被聚焦的. 所以无法监听其的键盘事件. 而通过增加 tabindex 属性,可以指定该元素可触焦. 关于tabindex(引自MDN): tabindex 全局属性 是个整数,表示元素(如果可聚焦)是否能够接受输入焦点. 如果它应该参与键盘序列导航,那么就是它的位置.

iOS 监听键盘变化

//将要显示键盘 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willShowKeyboard:) name:UIKeyboardWillShowNotification object:nil]; //将要隐藏键盘 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willHideKeyboard

iOS监听键盘高度的变化

最近做的项目中,有一个类似微博中的评论转发功能,屏幕底端有一个输入框用textView来做,当textView成为第一响应者的时候它的Y值随着键盘高度的改变而改变,保证textView紧贴着键盘,但又不会被键盘挡住. 下面是我实现的方法:(利用通知) // 键盘通知// 键盘的frame发生改变时发出的通知(位置和尺寸)// UIKeyboardWillChangeFrameNotification// UIKeyboardDidChangeFrameNotification// 键盘显示时发出