美文网首页
第四章:第三节 关于键盘

第四章:第三节 关于键盘

作者: 清杨程 | 来源:发表于2018-09-12 16:58 被阅读8次

    step—1:键盘的监听

    1.一般在viewWillAppear:方法中添加监听事件

    - (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

     //增加监听,当键盘出现或改变时收出消息

        [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotificationobject:nil];

     //增加监听,当键退出时收出消息

        [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject:nil];

    }

    //当键盘弹出时调用

    - (void)keyboardWillShow:(NSNotification*)notification{

     //获取键盘的高度

     NSDictionary*userInfo = [notification userInfo];

     NSValue*value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

     CGRectkeyboardRect = [value CGRectValue];

     CGFloatheight = keyboardRect.size.height;

     //第一种 self.view 平移的属性

     //self.view.transform=CGAffineTransformMakeTranslation(0,-height);

     //第二种 self.view frame的属性

     CGRectframe = self.view.frame;

        frame.origin.y= -height;

     self.view.frame= frame;

     NSLog(@"键盘打开...%@",NSStringFromCGRect(self.view.frame));

    }

    //当退出退出时调用

    - (void)keyboardWillHide:(NSNotification*)notification{

     //获取键盘的高度

     NSDictionary*userInfo = [notification userInfo];

     NSValue*value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

     CGRectkeyboardRect = [value CGRectValue];

     CGFloatheight = keyboardRect.size.height;

     //第一种 self.view 平移的属性

     //self.view.transform=CGAffineTransformIdentity;

     //self.view.transform=CGAffineTransformMakeTranslation(0,0);

     //第二种 self.view frame的属性

     CGRectframe = self.view.frame;

         frame.origin.y= 0;

     self.view.frame= frame;

     NSLog(@"键盘关闭...%@",NSStringFromCGRect(self.view.frame));

    }

    2.一般在viewWillDisappear:或dealloc 方法中移除

    - (void)viewWillDisappear:(BOOL)animated{

        [superviewWillDisappear:animated];

     //解除键盘出现通知

        [[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];

     //解除键盘隐藏通知

        [[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidHideNotificationobject:nil];

    }

    - (void)dealloc{

     //解除键盘出现通知

        [[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];

     //解除键盘隐藏通知

        [[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidHideNotificationobject:nil];

    }

    Step—2:键盘的的种类

    1>UIKeyboardTypeDefault:

    2>UIKeyboardTypeASCIICapable:

    3>UIKeyboardTypeNumbersAndPunctuation:

    4>UIKeyboardTypeURL:

    5>UIKeyboardTypeNumberPad:

    6>UIKeyboardTypePhonePad:

    7>UIKeyboardTypeNamePhonePad:

    8>UIKeyboardTypeEmailAddress:

    9>UIKeyboardTypeDecimalPad:

    10>UIKeyboardTypeTwitter:

    11>UIKeyboardTypeWebSearch:

    12>UIKeyboardTypeAlphabet:

    相关文章

      网友评论

          本文标题:第四章:第三节 关于键盘

          本文链接:https://www.haomeiwen.com/subject/bpqbgftx.html