一,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键相关推荐

  1. iOS开发常用的技巧

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑). 一. iPhone Size 手机型号 屏幕 ...

  2. 33 款主宰 2017 iOS 开发的开源库

    按需排列 33 个库,提升你在 2017 年的开发.开始燃烧吧. 你好,iOS 开发者们!我的名字是 Pawel,是一名 iOS 独立开发者,也是  Enter Universe 的作者. 大概在两年 ...

  3. Android 仿QQ退出(点击返回键不退出app,点击icon直接进入上次退出的页面)

    在登录页或者欢迎页onCreate方法加入如下代码: if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) ! ...

  4. 通知模式实现两个textField传值及模态视图——iOS开发

    通知模式实现两个textField传值及模态视图--iOS开发 利用通知模式,实现两个不同界面的textField之间的传值,在界面二输入字符,传值到前一界面的textField. 界面的切换,这里临 ...

  5. iOS开发之解决系统数字键盘无文字时delete键无法监听的技巧

    最近在做用户登录获取验证码时添加图形验证码功能,就是只有正确输入图形验证码才能收到后台发送的短信验证码.效果如下: 看起来虽然是个小功能,但是实际操作起来,会发现苹果给我们留下的坑,当然更多的是自己给 ...

  6. iOS开发自定义键盘回车键Return Key

    在iOS开发中,用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候可以是"完成"(表示输入结束),可以是"下一项" ...

  7. 【ios开发/Xcode】实现关键字检索

    [ios开发/Xcode]实现关键字检索 实现效果 源代码 实现效果 源代码 注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联 import UIKitcl ...

  8. iOS开发中键盘样式和自定义键盘。

    文章目录 系统自带的样式 自定义键盘 在系统自带键盘基础上自定义键盘 完全自定义键盘 自定义全部类型键盘 系统自带的样式 在iOS开发中系统自带键盘已经有很多样式,但是有时候并不能满足我们都开发需求, ...

  9. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总...

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

最新文章

  1. Android之设置资源图片为圆角图片
  2. linux系统如何创建python文件_linux如何运行python脚本
  3. js 字符ascii码转换函数
  4. mysql中engine=innodb和engine=myisam的区别
  5. 【CodeForces - 349B】Color the Fence (贪心,填数)
  6. uva 465 - Overflow
  7. MySQL高可用方案-PXC环境部署记录
  8. George Moody 对OSEA 软件的修改
  9. C语言的32个基本关键字
  10. c# 傅里叶变换 频域_如何学会傅里叶变换?
  11. creator多点触摸理解
  12. python怎么用圆周率_用python程序求圆周率到任意位
  13. 小案例:基于python的动态时钟,带十二时辰和经络养身
  14. 离散数学 数学三大危机
  15. 黑马程序员——Java基础——网络编程1
  16. 这两个月——我的学习Python学习之路
  17. ssd(Single Shot MultiBox Detector)代码之(五) 训练自己的数据集
  18. java 为什么 X/Y的向上取整可以用(X+Y-1)/Y导出
  19. 无线433远距离遥控时有杂波的解决方案
  20. CheckStyle 编写自己的代码检查插件

热门文章

  1. LoadRunner模拟Json请求
  2. 2013 8.26   总结记录下,别忘了哈
  3. 从 Comparison/Converter 到Func 的进化
  4. Winform开发框架中工作流模块之审批会签操作
  5. CSS基础篇--CSS/CSS3中的原生变量var详解
  6. 删除文件中指定的一行
  7. 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条
  8. Spring3+MyBatis3整合无法输出SQL语句问题的解决
  9. poj1236(强连通缩点)
  10. 网络资源(4) - extJS视频