IOS 开发之-- textfield和textview,return键的改变,点击return键
一,textfield的return键改变
方案1.改变键盘右下角的换行(enter)键为完成键,后实现代理方法键盘自动回弹
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 300, 200, 40)]; [self.view addSubview:textField];textField.delegate = self; textField.returnKeyType = UIReturnKeyDone;//改变为完成键,如果在项目中导入了YYText框架那么原生的就被替换掉了,变为returnKeyType = UIKeyboardTypeTwitter;//实现UITextField代理方法 - (BOOL)textFieldShouldReturn:(UITextField *)textField {[textField resignFirstResponder];//取消第一响应者return YES; } /*textField.returnKeyType可以改变为很多样式 typedef NS_ENUM(NSInteger, UIReturnKeyType) {UIReturnKeyDefault,UIReturnKeyGo,UIReturnKeyGoogle,UIReturnKeyJoin,UIReturnKeyNext,UIReturnKeyRoute,UIReturnKeySearch,UIReturnKeySend,UIReturnKeyYahoo,UIReturnKeyDone,UIReturnKeyEmergencyCall,UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0), }; */
当然搜狗输入法是自带隐藏键盘的功能的,但是你不能保证每个用户都装有搜狗输入法,这种方案也会改变搜狗键盘的右下角按钮为完成键
方案2.点击textField以外区域键盘回弹
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {[self.view endEditing:YES]; }
如果textField在tableView上还可以实现下面的tableView的代理方法
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{[self.view endEditing:YES]; }
问题二:键盘键盘遮挡输入框的的问题
解决方案
#pragma mark - textFieldDelegate(别忘了遵守协议设置代理) - (void)textFieldDidBeginEditing:(UITextField *)textField {self.view.y = self.view.y - 216; //216是输入框在最底部时view移动的距离,具体移动多少距离,需要根据实际情况而定 }- (void)textFieldDidEndEditing:(UITextField *)textField {self.view.y = self.view.y + 216; }
其实这里也可以自己写个动画!只要实现这两个方法就可以了,一般的话,会在键盘弹出的时候,监听事件,然后进行操作的!
同样textview也可以实现点击return键让键盘隐藏的操作,代码如下:
UITextFieldDelegate代理里面响应return键的回调:textFieldShouldReturn:。 但是 UITextView的代理UITextViewDelegate 里面并没有这样的回调。 但是有别的方法可以实现: UITextViewDelegate里面有这样一个代理函数: - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text这个函数的最后一个参数text代表你每次输入的的那个字,所以: - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{if ([text isEqualToString:@"\n"]){ //判断输入的字是否是回车,即按下return//在这里做你响应return键的代码 [self.textView resignFirstResponder];return NO; //这里返回NO,就代表return键值失效,即页面上按下return,不会出现换行,如果为yes,则输入页面会换行 }return YES; }
转载于:https://www.cnblogs.com/hero11223/p/6734934.html
IOS 开发之-- textfield和textview,return键的改变,点击return键相关推荐
- iOS开发常用的技巧
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑). 一. iPhone Size 手机型号 屏幕 ...
- 33 款主宰 2017 iOS 开发的开源库
按需排列 33 个库,提升你在 2017 年的开发.开始燃烧吧. 你好,iOS 开发者们!我的名字是 Pawel,是一名 iOS 独立开发者,也是 Enter Universe 的作者. 大概在两年 ...
- Android 仿QQ退出(点击返回键不退出app,点击icon直接进入上次退出的页面)
在登录页或者欢迎页onCreate方法加入如下代码: if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) ! ...
- 通知模式实现两个textField传值及模态视图——iOS开发
通知模式实现两个textField传值及模态视图--iOS开发 利用通知模式,实现两个不同界面的textField之间的传值,在界面二输入字符,传值到前一界面的textField. 界面的切换,这里临 ...
- iOS开发之解决系统数字键盘无文字时delete键无法监听的技巧
最近在做用户登录获取验证码时添加图形验证码功能,就是只有正确输入图形验证码才能收到后台发送的短信验证码.效果如下: 看起来虽然是个小功能,但是实际操作起来,会发现苹果给我们留下的坑,当然更多的是自己给 ...
- iOS开发自定义键盘回车键Return Key
在iOS开发中,用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候可以是"完成"(表示输入结束),可以是"下一项" ...
- 【ios开发/Xcode】实现关键字检索
[ios开发/Xcode]实现关键字检索 实现效果 源代码 实现效果 源代码 注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联 import UIKitcl ...
- iOS开发中键盘样式和自定义键盘。
文章目录 系统自带的样式 自定义键盘 在系统自带键盘基础上自定义键盘 完全自定义键盘 自定义全部类型键盘 系统自带的样式 在iOS开发中系统自带键盘已经有很多样式,但是有时候并不能满足我们都开发需求, ...
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总...
iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...
最新文章
- Android之设置资源图片为圆角图片
- linux系统如何创建python文件_linux如何运行python脚本
- js 字符ascii码转换函数
- mysql中engine=innodb和engine=myisam的区别
- 【CodeForces - 349B】Color the Fence (贪心,填数)
- uva 465 - Overflow
- MySQL高可用方案-PXC环境部署记录
- George Moody 对OSEA 软件的修改
- C语言的32个基本关键字
- c# 傅里叶变换 频域_如何学会傅里叶变换?
- creator多点触摸理解
- python怎么用圆周率_用python程序求圆周率到任意位
- 小案例:基于python的动态时钟,带十二时辰和经络养身
- 离散数学 数学三大危机
- 黑马程序员——Java基础——网络编程1
- 这两个月——我的学习Python学习之路
- ssd(Single Shot MultiBox Detector)代码之(五) 训练自己的数据集
- java 为什么 X/Y的向上取整可以用(X+Y-1)/Y导出
- 无线433远距离遥控时有杂波的解决方案
- CheckStyle 编写自己的代码检查插件