IOS开发Swift键盘收起,键盘挡住输入模框的处理
来源:互联网 发布:淘宝的优惠券怎么发放 编辑:程序博客网 时间:2024/05/21 17:22
1, UITableViewController 不能自动处理软键盘遮挡输入框的问题为:原因是重写的viewWillAppear方法中没有调用 super.viewWillAppear(animated),调用一下即可
2. 当第一种方法不起作用时: 实现代理UITextFieldDelegate中的三个方法,将输入框的代理设置为self
textFieldDidBeginEditing 方法的中的代码目的是计算UITextField的位置是否要移到多少才不被键盘挡住,然后动画移动
textFieldDidEndEditing 方法是复位
参考: IOS中输入框被软键盘遮挡的解决办法
//为了输入框不被软键盘挡住extension PublishSharedPicController:UITextFieldDelegate{ func textFieldDidBeginEditing(textField: UITextField) { print("textFieldDidBeginEditing......") //let frame:CGRect=textField.frame //print("frame\(frame)") //下面的 if(originFrame==nil){ originFrame = self.view.frame } let textBottom = self.view.frame.size.height - self.bottomView.scrollView.height - self.bottomView.publishBtnHeight let offset = textBottom - (self.view.frame.size.height - 216.0);//键盘高度216 //print("offset\(offset) textBottom:\(textBottom)") let animationDuration = 0.30; UIView.beginAnimations("ResizeForKeyboard", context: nil) UIView.setAnimationDuration(animationDuration) //将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示 if(offset > 0){ self.view.frame = CGRectMake(0.0, -offset, self.view.frame.size.width, self.view.frame.size.height); } UIView.commitAnimations() } func textFieldShouldReturn(textField: UITextField) -> Bool { print("textFiledShouldReturn.......") textField.resignFirstResponder() return true } func textFieldDidEndEditing(textField: UITextField) { print("textFieldDidEndEdinting.......") self.view.frame = originFrame! } //UITextField外收起键盘 override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { if(!self.bottomView.editView.exclusiveTouch){ self.bottomView.editView.resignFirstResponder(); } }}
3 ,UITextField外收起键盘:实现代理UITextFieldDelegate中的一个方法,将输入框的代理设置为self
//UITextField外收起键盘 override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { if(!self.bottomView.editView.exclusiveTouch){ self.bottomView.editView.resignFirstResponder(); } }
相关:IOS 关闭键盘 退出键盘 的5种方式
0 0
- IOS开发Swift键盘收起,键盘挡住输入模框的处理
- iOS开发-输入框收起键盘的N种方法
- 键盘挡住输入框的处理方法
- iOS 键盘挡住输入框的解决办法
- iOS 键盘挡住输入框的解决方案
- iOS开发 - 键盘的收起
- Android虚拟键盘挡住输入框的处理方法
- Android虚拟键盘挡住输入框的处理方法
- iOS键盘问题之挡住输入框
- iOS 解决键盘挡住输入框的问题
- ios输入框被键盘挡住的解决办法
- ios解决键盘挡住输入框的方法
- iOS之键盘挡住输入框的解决方法
- IOS 解决键盘挡住输入框的问题
- [iOS]解决键盘弹出时挡住输入框的问题
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- 网络相关系列之一:Android中使用HttpClient发送HTTP请求
- java多线程-join方法详解(附面试题)
- linux的启动流程
- utl_url.escape和utl_url.unescape
- TCP协议的三次握手和四次挥手
- IOS开发Swift键盘收起,键盘挡住输入模框的处理
- angular中 ng-if 指令中的ng-model等指令失效问题
- 我的第一次出国行
- Myeclipse 错误:JVM terminated. Exit code=1
- Fragment间通信传递数据 Communicating with Other Fragments
- js内置对象
- TCP与UDP区别
- 网络编程基础(3) : IO多路复用(单线程)
- 搞清tomcat中的编解码