IOS之监听键盘打开和关闭

        使用广播通知,在viewWillAppear时注册键盘打开和关闭的事件监听,在viewWilldisappear时解除键盘打开和关闭的事件监听。请注意viewWillAppear和viewWilldisappears事件触发的时机。

        在ViewController.m中添加如下四个方法。

-(void) viewWillAppear:(BOOL)animated {
    NSLog(@"viewWillAppear:在ViewController初始化之后,进入活动状态之前");

    //注册键盘出现通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardShow:)
												 name: UIKeyboardDidShowNotification object:nil];
    //注册键盘隐藏通知
	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardHide:)
                                                 name: UIKeyboardDidHideNotification object:nil];
    [super viewWillAppear:animated];
}


-(void) viewWillDisappear:(BOOL)animated {
    NSLog(@"viewWillDisappear:在ViewControler终止或进入后台之前");</span>
    //解除键盘出现通知
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name: UIKeyboardDidShowNotification object:nil];
    //解除键盘隐藏通知
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name: UIKeyboardDidHideNotification object:nil];
    
    [super viewWillDisappear:animated];
}

//自定义键盘打开时触发的事件
-(void) keyboardShow: (NSNotification *)notif {
    NSLog(@"keyboardShow键盘打开");
}

//自定义键盘关闭时触发的事件
-(void) keyboardHide: (NSNotification *)notif {
    NSLog(@"keyboardHide键盘关闭");
}

相关推荐