【好程序员笔记分享】——iOS开发之纯代码键盘退出
-iOS培训,iOS学习-------型技术博客、期待与您交流!------------
iOS开发之纯代码键盘退出(非常简单)
iOS开发之纯代码键盘退出
前面说到了好几次关于键盘退出的,但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是
EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得
了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没有真正弄清楚的人来说,也是一件痛苦的事情,哈哈!
今天就给大家介绍怎么在纯代码的情况下,退出(隐藏)键盘,Xib和StoryBoard情况下这里就不解释了,希望观看笔者前面写的文章。
一:UITextField
关于UITextFiel个人感觉又很多中方法,但是最近开发中我用的最多的也就是这两种,根据和已经在公司上班的同行的聊天中,现在开发中用的最多的也就是这两种,当然如果你还想去学习其他的方法或者更牛逼的方法,亦或者你想在一般的程序员面前装一下逼那也是可以的。
1)点击Return
关于点击Return是要实现一个代理方法那就是
-(BOOL)textFieldShouldReturn:(UITextField
*)textField
{
return YES;
}
但是在这之前你需要让你想要退出键盘所在类中实现一个代理那就是UITextFieldDelegate:
@interface iCocosFBViewController
()
实现了这个代理之后还没有完,还要定义一个属性:
@property (nonatomic, weak) UITextField
*text;
最后在相应的启动方法中遵守这个代理:
_text.delegate = self;
那么到这一切就OK了,在任意非方法行的实现文件中输入上面的代理方法就可以实现点击Return退出键盘了。
2)触摸屏幕
这个触摸屏幕就简单了,说先你需要定义一个属性text(同上)。你想如果你要退出键盘,可定是当你摸一下屏幕键盘就立刻退出,你不可能海让他等个一辆秒把,什么你会?那你就一直等下去把。
既然要立刻就退出,那么在屏幕触摸的代理方法中我们知道有一个方法撒撒Began方法:
对了就是他-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent
*)event我们只需要在这里实现退出键盘的代码就可以,这里退出键盘的代码貌似也有两种,,但是你想你既然想退出键盘肯定是介绍编辑,除非你还有其他
的地方要输入,那就不叫退出键盘了,所以我们使用最多的就是直接End,在这个方法中使得文本直接End编辑,End。。End。。。还没听懂,算了直接
给你看代码,在看不懂还是回家种田把!
-(void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event
{
[self.text endEditing:YES];
}
二:TextView
关于TextView方法基本上和上面的一样知识代理和代理方法不一样,但是思路完全是一模一样的,所以我就不做太多介绍。
1)Return
实现一个代理方法那就是
-(BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range replacementText:(NSString
*)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return
YES;
}
但是在这之前你需要让你想要退出键盘所在类中实现一个代理那就是UITextViewDelegate:
@interface iCocosFBViewController
()
实现了这个代理之后还没有完,还要定义一个属性:
@property (nonatomic, weak) UITextView
*text;
最后在相应的启动方法中遵守这个代理:
_text.delegate = self;
。。。。。
。。
。
2)触摸屏幕
。。。。
。。。
。。
。
-(void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event
{
[self.text endEditing:YES];
}
其实这两个控制退出键盘的方法80%都是一样的,比如如果你是要触摸屏幕退出那么都是实现这个方法
-(void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event
{
[self.text endEditing:YES];
}
然后,然后就没有然后了。。。。。。
关于实现代理方法不同的地方就是代理名,属性名,还有就是代理方法名不同,只是UITextView这个代理方法中用到了一个匹配字符串,\n,不要问这是撒,我也不知道。。。。左看右看还是没看懂,\->n我猜可能是叫你去睡觉的意思!。
如果能够匹配就刚好是TextField的方法,,,
。。。
。
。
。
【好程序员笔记分享】——iOS开发之纯代码键盘退出的更多相关文章
- 【好程序员笔记分享】——iOS开发之使用TextField作为搜索框
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之使用TextField作为搜索框 今天给大家带来一个新的技巧,比如平时我们要使用代码创建一 ...
- 【好程序员笔记分享】——URL解码与编码
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ 1.url编码 ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是: NSString * ...
- 程序员笔记|如何编写高性能的Java代码
一.并发 Unable to create new native thread …… 问题1:Java中创建一个线程消耗多少内存? 每个线程有独自的栈内存,共享堆内存 问题2:一台机器可以创建多少线程 ...
- 【好程序员笔记分享】——UIView与CALayer详解
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ UIView与CALayer详解 研究Core Animation已经有段时间了,关于Core Animati ...
- 【好程序员笔记分享】——Cocoapods集成
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ Xcode集成POD教程 准备工作: 首先我们要在我们的电脑中安装POD,进入命令行,输入如下指令 sudo ...
- iOS开发学习--纯代码 UIScrollView 无限循环的实现——代码类封装
一个简单的利用UIScrollView 实现的无线滚动banner,下面的代码实现,因为封装问题,对两个及一下的view 支持出了一点问题(view是传参进来的,不可以生成两份),但是原理是正确的,智 ...
- IOS开发之纯代码界面--基本控件使用篇 ┊
http://www.cocoachina.com/bbs/read.php?tid=131516
- 10款Mac上程序员装机必备的开发工具推荐和下载
10款Mac上程序员装机必备的开发工具推荐和下载 使用Mac的用户主要有两大类:设计师和程序员,为各位程序员童鞋推荐10个Mac上非常棒的开发工具和辅助工具,分享软件专题[10款Mac上程序员装机必备 ...
- 好程序员技术分享html5和JavaScript的区别
好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5.CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称.如PC端网站 ...
随机推荐
- C/C++ char和int的区别
字符字面值一般是用一对单引号来表示.char类型一般就是用字符字面值来初始化.赋值.由于char类型的是单字节长度,当给char类型的变量用字符字面值赋值时,当单引号里面的内容超过一个字节时,系统会自 ...
- nRF51 DFU 初始化包介绍及生成工具
nRF51 DFU 初始化包 当升级数据包时,在应用程序映像传输之前,在DFU中需要初始化包来执行映像的安全检测.这个初始化包作为升级流程的一部分提供了安全检测机制,因此被升级的设备只能接收兼容的应用 ...
- Selenium2Library关键字
对Selenium2Library关键字的整理和翻译.英文不好,仅供参考. 1.Add Cookie [ name | value | path=None | domain=None | secure ...
- angularjs中{{}} 加载出现闪烁问题
在head标签中加入 [ng-cloak] { display: none !important; } 在页面的body标签上添加 ng-cloak 可以解决页面上先后加载闪烁问题
- iOS 第三方 需要 引用的库
================================================== AFNetWorking 是基于 nsurlconnection 所以不需要引入库 === ...
- Android 不通过parent实现样式继承
1:styles.xml文件内容如下: <!-- TextView Style --> <style name="tvStyle"> <item na ...
- 瞬态抑制二极管TVS的基本知识
二极管是大家熟悉的元件,但瞬态抑制二极管就可能不太熟悉了.本文将介绍这种特殊二极管的用途. 工作原理等基本知识.各种电子设备中的各种半导体器件,一般都在直流低电压范围各作;如果在电源中串入一个瞬间上百 ...
- Katana 还是Owin ? 本地自承载
使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...
- 2015第22周六Java反射、泛型、容器简介
Java的反射非常强大,传递class, 可以动态的生成该类.取得这个类的所有信息,包括里面的属性.方法以及构造函数等,甚至可以取得其父类或父接口里面的内容. obj.getClass().getDe ...
- wikioi3052 多米诺
题目描述 Description 一个矩形可以划分成M*N个小正方形,其中有一些小正方形不能使用.一个多米诺骨牌占用两个相邻的小正方形.试问整个区域内最多可以不重叠地放多少个多米诺骨牌且不占用任何一个 ...