iOS开发中收键盘是十分常用的功能,只需一行代码即可为ViewController添加工具条收键盘功能

更重要的是使用catogory,无代码污染。

代码

//  UITextField+keyboard.h
//  TextFieldKeyBord
//
//  Created by luo.h on 15/10/8.
//  Copyright © 2015年 l.h. All rights reserved.
//

#import <UIKit/UIKit.h>@interface UITextField (keyboard)+(void)registerTextFieldInView:(UIView *)aView;@end

//
//  UITextField+keyboard.m
//  TextFieldKeyBord
//
//  Created by luo.h on 15/10/8.
//  Copyright © 2015年 l.h. All rights reserved.
//

#import "UITextField+keyboard.h"@implementation UITextField (keyboard)-(void)addToolbarWitDoneTitle:(NSString*)title
{UIBarButtonItem *flexibleSpaceLeft = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:nilaction:nil];UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:titlestyle:UIBarButtonItemStyleDonetarget:selfaction:@selector(dismissKeyBord)];[doneButton  setTintColor:[UIColor redColor]];UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, 44.0)];[toolbar setItems:@[flexibleSpaceLeft, doneButton]];[self setInputAccessoryView:toolbar];
}
//查找所有UITextField并添加按钮
+(void)registerTextFieldInView:(UIView *)aView;
{for (id obj in aView.subviews) {NSLog(@"obj class: %@",[obj class]);if ([obj isKindOfClass:[UITextField class]]) {UITextField* theTextField = (UITextField*)obj;[theTextField addToolbarWitDoneTitle:@"完成"];}}
}-(void)dismissKeyBord
{[self  resignFirstResponder];
}@end

使用:

- (void)viewDidLoad {[super viewDidLoad];//注册self.view里所有UITextField[UITextField registerTextFieldInView:self.view];}

Demo: http://files.cnblogs.com/files/sixindev/TextFieldKeyBord.zip

转载于:https://www.cnblogs.com/sixindev/p/4862735.html

一行代码为UITextField添加收键盘功能相关推荐

  1. SVN 具体某一行代码是谁添加的

    在开发过程中,经常遇到需要查看之前的代码,希望和开发某一段代码的人问一些问题.这个时候需要知道某一段代码到底是谁添加的. 这时候如果用svn版本控制,则可以使用svn blame完成这一功能. svn ...

  2. wp.qq.com.index.html,使用纯代码给WordPress添加文章目录功能,支持快速定位和多级目录...

    wordpress是一款强大的博客系统,支持各种DIY,今天我就给大家带来使用纯代码给Wordpress添加文章目录的功能,使看文章更简单!并且支持点击目录标题快速定位到文章页面指定内容点. 一.文章 ...

  3. 一行Python代码能实现什么丧心病狂的功能?

    作者 |  天元浪子 来源 | CSDN博客 手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际 ...

  4. c++代码表白_一行 Python 代码能实现什么丧心病狂的功能? | CSDN博文精选

    作者 | 许文武 责编 | 郭芮 出品 | CSDN 博客 手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的 ...

  5. 一行 Python 代码能实现什么丧心病狂的功能? | CSDN博文精选

    作者 | 许文武 责编 | 郭芮 出品 | CSDN 博客 手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的 ...

  6. 一行 Python 代码能实现什么丧心病狂的功能?

    手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道 ...

  7. python只能用一行代码_Python 一行代码能实现丧心病狂的功能

    手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道 ...

  8. pythonista检测内容自动点击_Pythonista中文教程:100行代码实现一款远程键盘

    前言 最近在逛AppStore的时候看到了一个挺有意思的app叫"远程输入法",意在使用电脑上使用键盘给iOS设备进行远程输入.出于好奇就买下来玩了玩,功能确实不错,但是总觉得少了 ...

  9. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版

    前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...

最新文章

  1. Apache服务器 配置多个网站解决方案
  2. 通过operator部署redis集群(ucloud版)
  3. 智迪科技携手海通安恒,启动SAP实施项目
  4. 重谈ExtGrid 扩展行自动展开(一)(expanded row 默认展开)
  5. Educational Codeforces Round 73 (Rated for Div. 2)
  6. 01-Flutter移动电商实战-项目学习记录
  7. java 对象加密_java.security包实现对象加密
  8. java面试加分_不只是给面试加分 -- Java WeakReference的理解与使用
  9. 北语20春oracle数据开发2,北语20春《Oracle数据库开发》作业3题目【标准答案】
  10. 多元线性回归(java实现)
  11. 深入理解JVM虚拟机读书笔记——运行时数据区
  12. FishC笔记—18 讲 函数:灵活即强大
  13. 2016.12.30非线性优化计算方法1
  14. 放弃高薪的程序员,体制内或许才是最好的归宿
  15. 【VB.net】大地测量——白塞尔大地解算程序设计
  16. 万字长文:用Python轻轻松松操作Excel、Word、CSV!
  17. Android客户端和Java服务器端集成支付宝
  18. 云计算基础(二)—— 虚拟化
  19. 苦心志,劳筋骨,饿体肤,乏其身,乱其所为
  20. kafka消费模型,分区,偏移量等

热门文章

  1. 不出来信号 quartus_男人一旦动了真情,会向你发出这6个“信号”不爱的人装不出来...
  2. HttpServletRequest简述
  3. Registered Nurse in the US
  4. 震惊!垃圾分类居然能用Python搞定!
  5. 大型网络架构变迁和知识图谱
  6. BZOJ1226 SDOI2009学校食堂(状压dp)
  7. AtCoder Grand Contest 023 C - Painting Machines
  8. Linux安装Jenkins
  9. 2016.6.17——Remove Duplicates from Sorted Array
  10. ATL和ActiveX做的控件.dll和.ocx最主要的区别(摘录)