回缩键盘

一、键值监听

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWillShow:)

name:UIKeyboardWillShowNotification

object:nil];

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

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWillHide:)

name:UIKeyboardWillHideNotification

object:nil];

#pragma mark ------- Action

- (void)keyboardWillShow:(NSNotification *)aNotification

{

//获取键盘的高度

NSDictionary *userInfo = [aNotification userInfo];

NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

CGRect keyboardRect = [aValue CGRectValue];

CGFloat keyHeight = keyboardRect.size.height;

self.view.top=100-keyHeight;

//    if ([_emailText isFirstResponder]) {

//        if(kDeviceHeight<_emailText.bottom+keyHeight+64)

//            self.view.top=64+(kDeviceHeight-_emailText.bottom-keyHeight-64);

//    }

}

- (void)keyboardWillHide:(NSNotification *)aNotification

{

//获取键盘的高度

self.view.top=64;

}

二、手势监听

UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];

tap1.cancelsTouchesInView = NO;

[self.view addGestureRecognizer:tap1];

#pragma mark----点击空白处收起键盘

-(void)viewTapped:(UITapGestureRecognizer*)tap1

{

[self.view endEditing:YES];

}

时间: 2024-10-11 11:35:07

回缩键盘的相关文章

textField中点击return退出键盘

在IOS开发中,经常会使用到textField,在使用它时,对键盘的处理又对用户体验有着很大的影响,让用户使用方便,是软件设计的重要部分. 下面就简单的说明一下,在结束编辑后退出键盘这一小动作. 首先,如果要退出键盘,就必须要失去第一响应者的身份,键盘就会退出 当textField处于输入状态时,就是第一响应者状态,所以只要在一个适当的时机,将textFiled的第一响应者状态辞去,键盘就会退出. 接下来,就是何时退出比较合适. 一般用户输入完毕后都习惯点击屏幕空白或是键盘的return键,而苹

xcode模拟器不显示键盘解决方案

当我们使用Xcode进行开发的时候,并不是所有的时候都需要将代码运行在iPhone,有时候模拟器就可以解决这些问题, 但是当你使用模拟器的时候会发现,在TextFiled中输入信息时,如果你是用模拟器上的键盘进行操作,OK没问题, 但是当你是用键盘输入信息的话,那么你会发现模拟器上的键盘就不会再显示了 这是因为,xcode默认情况下,使用电脑键盘作为外接键盘,不再弹出虚拟键盘. 你可以这样做: 运行模拟器,然后 hardware -> keyboard -> connect hardware

解决安卓手机键盘弹出时会把背景或百分比定位的布局压缩的问题

做移动端页面时经常遇到以下案例,在有背景的页面上写表单,而且底部为了适应不同手机还得运用绝对定位,因为通常是把容器高度设为了100%,这时在安卓手机上弹窗软键盘时就会把背景图片及其他东西挤压上去,解决方法如下: 在css样式中把大容器定义为fixed布局 .wrap{ position:fixed;left:0;top:0; } 在js中强制把页面的高度覆给他,就相当于自动撑开 var x =document.body.clientWidth; //查询设备的宽度 var y =document

前端angularJS利用directive实现移动端自定义软键盘的方法

最近公司项目的需求上要求我们iPad项目上一些需要输入数字的地方用我们自定义的软键盘而不是移动端设备自带的键盘,刚接到需求有点懵,因为之前没有做过,后来理了一下思路发现这东西也就那样.先看一下实现之后的效果: 实现的效果就是当点击页面中需要弹出软键盘的时候软键盘弹出,浮在页面的中间,和模态框一样的效果,可以在软键盘中输入任何数字,附带的功能有小数点.退格.清空.确定等功能.当在键盘上点击数字的时候页面中的表单中实时的添加对应的数字,上图中可以看到. 产品经理那边给的原因是iPad屏幕本来就小,如

ios 键盘追加完成按钮

//键盘追加完成按钮 UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)]; [topView setBarStyle:UIBarStyleDefault]; UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace

移动端 input 获取焦点后弹出带enter(类似于搜索,确定,前往)键盘,以及隐藏系统键盘

一:调出系统带回车键的键盘 在项目中经常有输入框,当输入完成后点击确定执行相应的动作.但是有些设计没有确定或者搜索按钮,这就需要调用系统键盘,点击系统键盘的确定后执行相应动作. 但是单纯的input是无法实现的,要想调出带回车的键盘必须把input放在form表单里面才可以,并且得加上action(一定要加),下面是个简单的例子. <form action class="search" onsubmit="return false;"> <i cl

13.Linux键盘按键驱动 (详解)

版权声明:本文为博主原创文章,未经博主允许不得转载. 在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标: 实现键盘驱动,让开发板的4个按键代表键盘中的L.S.空格键.回车键 1.先来介绍以下几个结构体使用和函数,下面代码中会用到 1)input_dev驱动设备结构体中常用成员如下: struct input_dev { void *private; const char *name; //设备名字 const char *ph

通过键盘接收数值和字符,实现计算器功能。

import java.util.Scanner; /** * @author 蓝色以太 * 通过键盘接收数值和字符,实现计算器功能. */ public class Calculator { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数值:"); double num1=sc.nextDouble(); System.out

.Net WinForm 控件键盘消息处理剖析

在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等,那么这些方法是如何被组织的,每一个方法的具体含义又是什么哪?Win32的键盘消息又是如何到达控件上的这些方法的,本文将着重阐述这些问题,对.Net WinForm控件的键盘消息处理过程进行剖析.  1.      WinForm消息循环 大家都知道WinForm也是依赖于底层的消息机制的,通常我们