一行代码为UITextField添加收键盘功能
2015-10-09 00:06
447 查看
iOS开发中收键盘是十分常用的功能,只需一行代码即可为ViewController添加工具条收键盘功能
更重要的是使用catogory,无代码污染。
代码
使用:
Demo: http://files.cnblogs.com/files/sixindev/TextFieldKeyBord.zip
更重要的是使用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:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:title style:UIBarButtonItemStyleDone target:self action:@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
相关文章推荐
- UIStackView相关
- 不要再build.gradle中使用动态版本的依赖
- “XXX”不扩展类“System.Web.UI.Page”,因此此处不允许。
- ExecuteNonQuery()与ExecuteScalar()
- android studio 报Error:failed to find Build Tools revision 23.0.0 rc2
- android入门(九) 常用UI组件
- 关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题
- Java gui设计
- UI设计师产品构思过程中需要有一个系统思维方向
- requirejs
- 深入讲解string和StringBuilder的区别
- POJ3080 Blue Jeans(kmp & 暴力)
- Android UI线程和非UI线程
- break 和continue以及return的区别
- String、StringBuffer、StringBuilder
- 黑马程序员---OC学习笔记之NSNumber和NSValue的介绍和使用
- 媒体查询(Media Queries)摘抄
- POJ 3368 Frequent values(区间频繁次数 RMQ)
- iOS:触摸控件UITouch、事件类UIEvent
- HDU5496--Beauty of Sequence(水题)