键盘监听,高度获取

监听

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboarWillShow:) name:UIKeyboardWillShowNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboarWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];

}

-(void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];

[[NSNotificationCenter defaultCenter] removeObserver:self];

}

-(void)keyboarWillShow:(NSNotification*)obj{

//获取键盘的高度

NSDictionary *userInfo = [obj userInfo];

NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

CGRect keyboardRect = [aValue CGRectValue];

int height = keyboardRect.size.height;

// [UIView animateWithDuration:0.4f animations:^(){

// [m_ListView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight] - height)];

// }];

//

// NSIndexPath *indexPath = nil;

// if (curEditTextField.tag == CreatView_Btn_Type) {

// indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

// }

// else if (curEditTextField.tag == CreatView_Btn_owner) {

// indexPath = [NSIndexPath indexPathForRow:0 inSection:1];

// }

// else if (curEditTextField.tag == CreatView_Btn_Location) {

// indexPath = [NSIndexPath indexPathForRow:2 inSection:1];

// }

// else if (curEditTextField.tag == CreatView_Btn_maxPersonNum) {

// indexPath = [NSIndexPath indexPathForRow:3 inSection:1];

// }

//    else if (curEditTextField.tag == CreatView_Btn_Fee) {

// indexPath = [NSIndexPath indexPathForRow:4 inSection:1];

// }

// if (indexPath) {

// [m_ListView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionNone animated:YES];

// }

}

-(void)keyboardWillBeHidden:(NSNotification*)obj{

// [UIView animateWithDuration:0.4f animations:^(){

// [m_ListView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight])];

// }];

}

键盘监听,高度获取

时间: 2024-10-28 11:46:32

键盘监听,高度获取的相关文章

iOS键盘监听以及获取键盘高度

在文本输入时,界面会弹出键盘.有时,当文本输入框过低,被键盘遮挡,使用户无法看见输入框文本内容,这就使得用户体验过低. 所以需要我们对键盘进行监控并获取键盘高度,调节界面或文本框高度进行处理.如下图,文本输入框过低的情况: 像这样的情况,如若未作处理,输入框就会被键盘遮挡.这时,我们需要监听键盘事件,获取键盘高度,对文本框视图进行高度调整: 1 #import "ViewController.h" 2 3 @interface ViewController ()<UITextFi

C#全局键盘监听(Hook)的使用

一.为什么需要全局键盘监听? 在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下快捷键使用此功能... 这个时候在程序中添加键盘监听肯定不能满足需求了,当用户焦点不在App上时(如最小化,或者用户在处理其它事物等等)键盘监听就失效了 二.怎样才能实现全局键盘监听? 这里需要用到Windows API,源码如下:(可以作为一个工具类[KeyboardHook.cs]收藏起来) u

【转】【C#】全局键盘监听

using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms; using System.Reflection; namespace 梦琪动漫屋 { /// <summary> /// 键盘钩子/// </summary> class KeyboardHook { public ev

使用HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)

之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 var change = 0;// 属于运算符后需要清空上一数值 var num1 = 0;// 运算第一个数据 var num2 = 0;// 运算第二个数据 var cunChuValue = 0;// 存储的数值 $(function() { $(".number").click(f

JPanel添加键盘监听事件

因为在自己的游戏需求中谢了要用键盘控制飞机的移动,所以用到键盘监听事件,但是使用了JPanel之后添加了键盘监听事件,按相应的方向键飞机并没有反应.但是如果是为JFrame的内容面板加则会有反应. 为了使得能在JPanel里头使用键盘事件解决方法如下: 1.在JPanel里头添加键盘监听 this.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { switch(e.getKeyCode()){ case K

HTML5 键盘监听原理实现的抓怪兽游戏+代码

HTML5小游戏抓怪兽,应用Canvas等超多的HTML5技巧编写而成,下面来向大家汇报实现步骤: 1.创建游戏画布: .代码   var canvas = document.createElement("canvas"); var ctx = canvas.getContext("2d"); canvas.width = 512; canvas.height = 480; document.body.appendChild(canvas); 我们需要做的第一件事是

python之键盘监听木马(SMTP信箱收取监听结果、修改注册表自启动)

最近接触了python的win32库,库子提供了不少可用于windows开发的API,这里就利用这个为原理制作一个键盘监听木马的雏形. 这里需要使用额外的模块pythonHook(放置钩子时),pythoncom 主要监听功能相关代码: #放置键盘监听钩子 def seeing(): PH=pyHook.HookManager() PH.KeyDown=KeyboardEvent PH.HookKeyboard() pythoncom.PumpMessages() #键盘事件 def Keybo

Android之键盘监听的运行机理【看清键盘监听的本质】【入门版】

以EditText为例: 1.Activity本身也有按键监听 editText按键监听与Activity按键监听关系: Activity本身也有按键监听 而且分按下和松开两个事件监听 editText按键监听不分按下,和松开,准确的说:它把这两个事件放在了一个监听事件里了 return false ,editText按键监听事件执行完之后,会向下传第,即接着执行Activity的按键监听 return true :终止向下传递,不会执行Activity的按键监听 2.软键盘不能响应按键监听(只

Android之如何设置键盘监听

5.设置键盘监听[以EditText为例] username.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub switch (keyCode) { case KeyEvent.KEYCODE_1: Toast.makeText(MainActivity.thi