一句代码搞定,所有页面点击空白处隐藏键盘

首先新建一个appdelegate的分类

代码如下:

#import "AppDelegate.h"
@interface AppDelegate (DismissKeyboard)
/** 开启点击空白处隐藏键盘功能 */
- (void)openTouchOutsideDismissKeyboard;
@end
@implementation AppDelegate (DismissKeyboard)
/** 开启点击空白处隐藏键盘功能 */
- (void)openTouchOutsideDismissKeyboard
{
    /** 给window注册监听*/
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(addGesture) name:UIKeyboardDidShowNotification object:nil];
}
- (void)addGesture
{
    /** 添加手势*/
    [self.window addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disappearKeyboard)]];
}
- (void)disappearKeyboard
{
    /**隐藏键盘*/
    [self.window endEditing:YES];
    [self.window removeGestureRecognizer:self.window.gestureRecognizers.lastObject];
}
- (void)dealloc
{
    /**取消键盘*/
    [[NSNotificationCenter defaultCenter]removeObserver:self];
}
@end

然后接下来只需要在:

 * 1.在AppDelegate.m 中 #import "DismissKeyboard.h"
  * 2.在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  *  加上[self openTouchOutsideDismissKeyboard];

就大公告成了,希望可以帮助到你,有疑问可以关注我,我们一起探讨哦。

http://download.csdn.net/detail/tubiebutu/8894417

需要的可以下载下来

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-06 08:37:50

一句代码搞定,所有页面点击空白处隐藏键盘的相关文章

IOS 一句代码搞定启动引导页

前言引导页,一个酷炫的页面,自从微博用了之后一下就火起来了,对于现在来说一个app如果没有引导页似乎总显那么不接地气,那么为了让我们的app也“高大上”一次,我写了一个demo来实现启动引导页的实现,鉴于我的强迫症,使用起来也是尽可能的简单才算罢休,这不,一句代码就搞定了,而且支持版本更新后显示新的引导页,先看效果: LaunchIntroduction.gif demo中封装了两个方法以供调用,一个是在滚动视图的最后一个页面带有进入按钮,一个是不带按钮,直接滚动就可隐藏引导页. 特点1.使用简

对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+.两套运行时,同样的调用方式,可供

Android开发:一句代码搞定eclipse查看v4源码

在android开发的时候,看不到源码其实是很悲催的事情的,关于如何查看源码的博文已经许多了,可是今天在试图添加V4源码的时候,发现了许多麻烦且不靠谱的方式,实验了许久,还是没有加上,比如以下的这些方法: 解决eclipse无法打开android-support-v4的源码 解决eclipse无法查看v4,v7-appcompat源码 Android 如何在Eclipse中查看Android API源码以及support包源码 跟着这些复杂方法,弄了很久,最终也没有搞定,后来柳暗花明,终于在st

【开源】1句代码搞定图片批量上传,无需什么代码功底【无语言界限】

开源地址:https://github.com/dunitian/LoTUploader WebUploader基础上的封装改善,一句代码全部实现(样式美化,实例JS优化(配置优化,样式调整,名称+大小显示,错误处理等),后端代码.....) 效果:(完整demo:https://github.com/dunitian/LoTUploader/tree/V1.0/Demo) 一句代码:$.lotuploader('lot-uploader', '/Home/Upload'); //必填参数:ID

python交换两个变量的值,一句代码搞定

a = 10 b = 20 # 不需要中间变量,一步搞定 a, b = b, a

iOS开发小功能之九:五句代码搞定简单的父子控制器

小码哥大神的代码,确实精简! 1.最终结果如下面三个图,点击one,two,three,分别出现3个不同的控制器 直接代码:(三个控制器的创建就上了) #import "ViewController.h" #import "ZWOneViewController.h" #import "ZWTwoViewController.h" #import "ZWThreeViewController.h" @interface Vie

c# 一句代码搞定菱形打印

需求:打印金字塔,菱形,如: 首先定义行数n,对金字塔而言,空格依次递减,星号依次递增.菱形以行数位分界点,从0-n与金字塔相同,从n到2n-1行规律相反:因此需要以n位基准,用行数与n相减求绝对值,方法如下: public static void PrintDiamond(int n) { for (int i = 1; i <= 2 * n - 1; i++)      // 金字塔则只需在该行将2n-1改为n即可 { for (int j = 1; j <= Math.Abs(n - i

WPF一段代码搞定所有的点击事件

用一个方法来控制转发所有的点击事件,界面图如下:    <Page x:Class="WPFNavigate.Index" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Home"> <Page.Res

一句JS搞定只允许输入数字和字母

一句JS搞定输入框只允许用户输入数字和字母类型的内容,对象是input输入框,当然也可以其它对象,只不过input输入框用的频率非常高.一句代码,不信么?那就看下边代码: <INPUT class=input maxLength=12 size=15 name=username id="username" onKeyUp="value=value.replace(/[\W]/g,'')"></INPUT> 在input文本框中加入onKeyU