iOS 键盘处理(改变键盘为完成键),UITextField键盘显示隐藏,弹出,回弹
2017-05-20 23:02
1131 查看
很多时候用到UITextField时,处理键盘是一个很棘手的问题。
keyBoardControll.gif
当然搜狗输入法是自带隐藏键盘的功能的,但是你不能保证每个用户都装有搜狗输入法,这种方案也会改变搜狗键盘的右下角按钮为完成键
如果textField在tableView上还可以实现下面的tableView的代理方法
问题一:如何隐藏键盘?
方案1.改变键盘右下角的换行(enter)键为完成键,后实现代理方法键盘自动回弹
keyBoardControll.gif
UITextField*textField=[[UITextFieldalloc]initWithFrame:CGRectMake(100,300,200,40)]; [self.viewaddSubview:textField]; textField.delegate=self; textField.returnKeyType=UIReturnKeyDone;//改变为完成键,如果在项目中导入了YYText框架那么原生的就被替换掉了,变为returnKeyType=UIKeyboardTypeTwitter; //实现UITextField代理方法 -(BOOL)textFieldShouldReturn:(UITextField*)textField{ [textFieldresignFirstResponder];//取消第一响应者 returnYES; } /*textField.returnKeyType可以改变为很多样式 typedefNS_ENUM(NSInteger,UIReturnKeyType){ UIReturnKeyDefault, UIReturnKeyGo, UIReturnKeyGoogle, UIReturnKeyJoin, UIReturnKeyNext, UIReturnKeyRoute, UIReturnKeySearch, UIReturnKeySend, UIReturnKeyYahoo, UIReturnKeyDone, UIReturnKeyEmergencyCall, UIReturnKeyContinueNS_ENUM_AVAILABLE_IOS(9_0), }; */
当然搜狗输入法是自带隐藏键盘的功能的,但是你不能保证每个用户都装有搜狗输入法,这种方案也会改变搜狗键盘的右下角按钮为完成键
方案2.点击textField以外区域键盘回弹
-(void)touchesBegan:(NSSet<UITouch*>*)toucheswithEvent:(UIEvent*)event{ [self.viewendEditing:YES]; }
如果textField在tableView上还可以实现下面的tableView的代理方法
-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{ [self.viewendEditing:YES]; }
问题二:键盘键盘遮挡输入框的的问题
解决方案#pragmamark-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; }
相关文章推荐
- iOS UITextField 获得焦点后,阻止弹出键盘事件,显示时间选择器
- iOS --UITextField 输入值改变事件和键盘遮挡处理
- iOS、Xcode监测键盘的显示和隐藏变化,并获得键盘高度,改变tableView的frame和偏移
- iOS、Xcode监测键盘的显示和隐藏变化,并获得键盘高度,改变tableView的frame和偏移
- UIScrollView中UITextField文本编辑框位置随键盘的显示(隐藏)改变
- iOS上隐藏UITextField弹出的软键盘
- iOS - 模拟器键盘弹出、隐藏、不显示
- iOS swift-UIView随键盘弹出/隐藏而改变位置
- ios 利用通知处理键盘的显示与隐藏
- Objective-C ,ios,iphone开发基础:在UITextField输入完以后,隐藏键盘,
- iOS-UITextField和UITextView隐藏键盘
- 解析android中隐藏与显示软键盘及不自动弹出键盘的实现方法
- Android.edittext点击时,隐藏系统弹出的键盘,显示出光标
- [UI控件问题] UITextField控件处理键盘弹出时遮住输入框的问题
- iOS UITextField输入后隐藏键盘
- 显示或隐藏键盘改变tableView高度
- 键盘弹出后上提view隐藏后下拉view还原并修改scroll过程中旋转屏幕到竖屏view显示错误
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法
- UITextField控件处理键盘弹出时遮住输入框的问题
- iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法