IOS系列——键盘的简单操作
遇到键盘的时候,很多都是要隐藏键盘这里有几种方法
1、点击空白 是键盘隐藏
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{//隐藏键盘[_text_daikuanzonge resignFirstResponder];}
这种实现很简单,就是让当前的接受者放弃第一接受者 当然,对于这个方法来讲,我们可以实现很多其他的东西,而不仅仅局限与让键盘隐藏;
2、在键盘上添加一个隐藏按钮
//定义一个toolBar
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];//设置style
[topView setBarStyle:UIBarStyleBlack];//定义两个flexibleSpace的button,放在toolBar上,这样完成按钮就会在最右边
UIBarButtonItem * button1 =[[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:self action:nil];UIBarButtonItem * button2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:self action:nil];//定义完成按钮
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)];//在toolBar上加上这些按钮
NSArray * buttonsArray = [NSArray arrayWithObjects:button1,button2,doneButton,nil];
[topView setItems:buttonsArray];[textView setInputAccessoryView:topView];
//隐藏键盘
- (void)resignKeyboard {[textView resignFirstResponder];
}
最终效果
3、把回车键改为隐藏键盘键 这个的前提是不需要用到回车键
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {if ([text isEqualToString:@"\n"])
{
[textView resignFirstResponder]; return NO;
}return YES;
}
当然,我们在开发过程中还有很多的时候由于布局的局限性,键盘出现的时候会把我们需要输入的文本框遮挡住,这个时候就需要把文本框上移就像我们发短信的时候,自动上移
①、在viewWillAppear中添加键盘监听事件
//添加键盘的监听事件//注册通知,监听键盘弹出事件[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];//注册通知,监听键盘消失事件[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHidden) name:UIKeyboardDidHideNotification object:nil];
②、完成①selector中键盘弹出keyboardDidShow:和消失keyboardDidHidden方法
在.m文件#import后面添加
//动画时间
#define kAnimationDuration 0.2
//view高度
#define kViewHeight 56
③、键盘出现
// 键盘弹出时
-(void)keyboardDidShow:(NSNotification *)notification
{//获取键盘高度NSValue *keyboardObject = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];CGRect keyboardRect;[keyboardObject getValue:&keyboardRect];//调整放置有textView的view的位置//设置动画[UIView beginAnimations:nil context:nil];//定义动画时间[UIView setAnimationDuration:kAnimationDuration];//设置view的frame,往上平移[(UIView *)[self.view viewWithTag:1000] setFrame:CGRectMake(0, self.view.frame.size.height-keyboardRect.size.height-kViewHeight, 320, kViewHeight)];[UIView commitAnimations];}
④、键盘消失
//键盘消失时
-(void)keyboardDidHidden
{//定义动画[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:kAnimationDuration];//设置view的frame,往下平移[(UIView *)[self.view viewWithTag:1000] setFrame:CGRectMake(0, self.view.frame.size.height-kViewHeight, 320, kViewHeight)];[UIView commitAnimations];
}
IOS系列——键盘的简单操作相关推荐
- 自动化键盘鼠标简单操作(python)
用pyautogui包实现自动化键盘鼠标简单操作,包括键盘键位和鼠标移动点击操作. 例如,微(信)消息自动发送: 先停时五秒,再把内容复制到剪贴板 import pyautogui #键盘鼠标操作包 ...
- zookeeper之系列五:简单操作
1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容: [zk: 10.77.20.23:2181(CONNECTED) 1] ls / [zookeeper] 2 )创建一个新的 z ...
- ESP32 模拟键盘的简单操作 (ESP32 for Arduino)
本来是以前做过的ESP32项目,但是想拿来用在别的项目上时发现找不到了.所以重新写一下这个项目,记录一下. 首先说明:使用ArduinoIDE.模块型号为esp32-wroom-32. 库文件链接: ...
- iOS关闭键盘的两种简单方法
方法一: //1, 关闭键盘 [[[UIApplication sharedApplication] keyWindow] endEditing:YES]; 想必大家都遇到过一个view上好多输入框, ...
- iOS系列开发-版本控制工具Git的使用
iOS系列开发-版本控制工具Git的使用 作为一个开发者,与团队之间默契的配合是很重要的,我们所写的代码在无论是在公司还是在个人来说都是一份不可随意丢弃的东西,但是如果只是单纯的开发,我们很难做到今天 ...
- 关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结
关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结 文章目录 关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结 1. 前言 2. ST25 ...
- android系统用在什么电脑,手机变电脑的简单操作 适用于所有Android系统的向日葵...
现如今,什么电子设备对于我们来说最重要呢?毫无疑问,必定是人手一部不离不弃的手机!不过,可能有"杠精"会说了,电脑不是更重要?毕竟办公离不开,还有很多大型网络游戏也只能在电脑上才享 ...
- 【iOS系列】-程序开启后台运行
[iOS系列]-程序开启后台运行 iOS程序是伪后台的运行,可是有时候我们需要让其在后台也要进行一些操作,我们可以让其伪装成音乐的APP,这样就可以让程序后台进行相关操作了,具体做法如下: 1:在Ap ...
- iOS系列教程 目录 (持续更新...)
前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...
最新文章
- PO、VO、FormBean的思考
- 人体姿态估计--Learning Feature Pyramids for Human Pose Estimation
- 通用目标检测的review
- POJ 1293 - Duty Free Shop 01背包记录所选物品
- Hadoop入门(Hadoop2.7.2源码编译与伪分布安装)
- java的if里有多个if_代码里写很多if会影响效率吗?
- Storm ack和fail机制再论
- 一个经典的WIN32窗口应用
- Docker学习总结(52)—— Docker容器环境变量相关知识点的总结
- Dart基础第6篇:集合类型List Set Map详解 以及循环语句 forEach map where any every
- 在成长中遇到的挫折事件对你的影响_孩子一遇到困难就退缩?3个方法培养孩子逆商,提升抗挫折能力...
- 小程序毕设作品之微信小程序点餐系统毕业设计(4)开题报告
- MyBatis批量插入几千条数据,请慎用foreach
- 卖桃者说(1)有效学习
- python 提取骨架
- TensorFlow案例---概率学中的逆概率
- 广义相对论 的 一个问题
- SRP Batcher:提升您的渲染性能
- 【gazebo要素4】传感器插件(Velodyne)
- 谁说程序员过了35岁之后就要去“送外卖”、“跑滴滴”?这几种发展走向照样解除焦虑