//
// ViewController.m
// text
//
// Created by 李东旭 on 16/1/22.
// Copyright © 2016年 李东旭. All rights reserved.
// #import <UIKit/UIKit.h>
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; UITextView *textV = [[UITextView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:textV]; // 1. 添加通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardChange:) name:UIKeyboardWillShowNotification object:nil];
// 键盘将要出现 UIKeyboardWillShowNotification
// 键盘已经出现 UIKeyboardDidShowNotification
// 键盘将要隐藏 UIKeyboardWillHideNotification
// 键盘已经隐藏 UIKeyboardDidHideNotification } // 2. 键盘已经出现调用的触发方法
- (void)keyBoardChange:(NSNotification *)noti
{
NSLog(@"%@", noti);
// 打印noti
/*
0x7f84584d1000 {name = UIKeyboardDidShowNotification; userInfo = {
// 键盘动画执行节奏
UIKeyboardAnimationCurveUserInfoKey = 7; // 键盘动画的时间
UIKeyboardAnimationDurationUserInfoKey = "0.25"; // 键盘的bounds
UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {375, 258}}"; // 键盘的起始center
UIKeyboardCenterBeginUserInfoKey = "NSPoint: {187.5, 796}"; // 键盘的结束center
UIKeyboardCenterEndUserInfoKey = "NSPoint: {187.5, 538}"; // 键盘开始动画前的位置(也就是消失时)
UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 667}, {375, 258}}"; // 键盘结束动画后的位置(也就是弹出了)
UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 409}, {375, 258}}"; UIKeyboardIsLocalUserInfoKey = 1;
}}
*/ // 3. 那么如何获取这个值呢
NSDictionary *noKey = [noti userInfo];
NSValue *value = noKey[@"UIKeyboardBoundsUserInfoKey"];
// 注意,这个的value 是CGRect类型的(所以下面必须调用CGRectValue方法
NSLog(@"%f", [value CGRectValue].size.height); } @end

[iOS]利用通知实现监听系统键盘的更多相关文章

  1. vue 监听手机键盘是否弹出及input是否聚焦成功

    //定义移动端类型 function pageStats() { let u = navigator.userAgent, app = navigator.appVersion; let obj = ...

  2. h5 移动端 监听软键盘弹起、收起

    前面一篇博客 h5 安卓 键盘弹起界面适配 修改webview高度提到了在adnroid中如何监听软键盘的弹起与收起,是利用的窗口的高度发生变化window.onresize事件来做突破点的,但是io ...

  3. Android 另类方法监听软键盘的弹出收起事件

    http://www.cnblogs.com/csonezp/p/5065624.html 最近做的项目碰到个问题,a界面是fragment+recyclerview,b界面带个edittext,并且 ...

  4. Android App监听软键盘按键的三种方式

    前言:   我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面:在点击搜索框的时候,点击右下角的sea ...

  5. 键盘-App监听软键盘按键的三种方式

    前言:   我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面:在点击搜索框的时候,点击右下角的sea ...

  6. Android App监听软键盘按键的三种方式(转)

    最近有类似需求,在csdn上刚好发现,粘贴过来,以防止忘记喽 前言:   我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“G ...

  7. WPF - 监听判断键盘组合键的按下

    对于键盘事件PreviewKeyDown.PreviewKeyUp.KeyDown.KeyUp,在其中检查当次事件是哪个按键触发的很简单,只需要判断KeyEventArgs类型的事件参数e的Key属性 ...

  8. go 监听系统信号

    linux 信号查看 kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFP ...

  9. Python——pyHook监听鼠标键盘事件

    pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

随机推荐

  1. JavaScript 函数调用

    JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象. 注意 this ...

  2. 百分比布局实现响应式布局在 IE6 中填坑思路

    最近接了个政府项目,政府项目要求响应式,并且兼容IE6,不想用媒体监测的方法,于是用了百分比布局的方法,但是IE6真是名不虚传,做第一个界面就遇到了个bug ①两张宽度各占50%的图片无法在同一横排, ...

  3. python-面向对象(指数对象举例)

    class Index(object): def __init__(self,index_name,index_code,closePrice_yesterday,closePrice_today): ...

  4. CSS样式补充代码

    CSS符号属性: list-style-type:none; /*不编号*/ list-style-type:decimal; /*阿拉伯数字*/ list-style-type:lower-roma ...

  5. SASS学习笔记_01

      scss两种格式 sass    大括号 scss   css写法   Arguments:  --no-cache –style compressed --update $FileName$:c ...

  6. JS--传统事件模型的问题

    事件绑定分为两种情况:传统的事件绑定(内联模型.脚本模型),一种是现代事件绑定模型(DOM2级事件绑定). 内联模型的事件绑定是将事件写在元素标签中,将事件绑定函数当做元素的一种属性来实现的,这种绑定 ...

  7. 对LVS DR模式的理解

    Client向vip发请求,lvs接收 Src mac Dst mac type … Src ip Src port Dst ip Dst port … CRC Mac1 Mac2 … … 192.1 ...

  8. 户外物理渗透:终端机,客户端的web测试思路

    现在的客户端界面越做越好看了,很多用到了web技术,轻便.界面炫.更新快,但是这样web的缺点也就出来了,就是不稳定,容易受用户等因素影响. 因为很多客户端web是内嵌的,内部通信,所以很多对安全的考 ...

  9. SOA之(4)——服务实现的途径

    服务实现的途径(Service Implementation Mediums) 将SOA看成是一个架构模型非常重要,它独立于任何技术平台.对于企业来说,可以根据它当前自身的技术优势来实现SOA,从而达 ...

  10. JS对象类型的确定

    JS是松散类型的语言,这一点JS的对象表现得尤为突出.那么如何来确定JS对象的具体类型呢? 首先,我们可以使用typeof运算符确定其基本类型(number,object,function,undef ...