zoukankan      html  css  js  c++  java
  • 键盘出现与消失的监听方法

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

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

     
    1. -(void) viewWillAppear:(BOOL)animated {  
    2.     NSLog(@"viewWillAppear:在ViewController初始化之后,进入活动状态之前");  
    3.   
    4.     //注册键盘出现通知  
    5.     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardShow:)  
    6.                                                  name: UIKeyboardDidShowNotification object:nil];  
    7.     //注册键盘隐藏通知  
    8.     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardHide:)  
    9.                                                  name: UIKeyboardDidHideNotification object:nil];  
    10.     [super viewWillAppear:animated];  
    11. }  
    12.   
    13.   
    14. -(void) viewWillDisappear:(BOOL)animated {  
    15.     NSLog(@"viewWillDisappear:在ViewControler终止或进入后台之前");</span>  
    16.     //解除键盘出现通知  
    17.     [[NSNotificationCenter defaultCenter] removeObserver:self  
    18.                                                     name: UIKeyboardDidShowNotification object:nil];  
    19.     //解除键盘隐藏通知  
    20.     [[NSNotificationCenter defaultCenter] removeObserver:self  
    21.                                                     name: UIKeyboardDidHideNotification object:nil];  
    22.       
    23.     [super viewWillDisappear:animated];  
    24. }  
    25.   
    26. //自定义键盘打开时触发的事件  
    27. -(void) keyboardShow: (NSNotification *)notif {  
    28.     NSLog(@"keyboardShow键盘打开");  
    29. }  
    30.   
    31. //自定义键盘关闭时触发的事件  
    32. -(void) keyboardHide: (NSNotification *)notif {  
    33.     NSLog(@"keyboardHide键盘关闭");  
    34. }  
  • 相关阅读:
    Map接口框架图
    Collection接口框架图
    Java集合框架源码(四)——Vector
    Java集合框架源码(三)——arrayList
    HashSet与HashMap的区别
    Java集合框架源码(二)——hashSet
    hashMap与hashTable的区别
    HashMap与ConcurrentHashMap的区别
    asp.net 项目Net4.0 在IE10、 IE 11 下出现 “__doPostBack”未定义 的解决办法
    C# 完整List例子
  • 原文地址:https://www.cnblogs.com/angongIT/p/4365633.html
Copyright © 2011-2022 走看看