15.使用UIScrollView实现键盘自适应
来源:互联网 发布:openstack ubuntu 源 编辑:程序博客网 时间:2024/05/18 18:21
在前面, 我们实现过一个在ViewController里的键盘自适应, 现在让我们来看看在UIScrollView是怎么实现键盘自适应的.
PS: 已经更新到Swift 2.0, 支持Xcode7, iOS9
1.界面布局
2.实现代码
关联控件
class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var textFieldOne: UITextField! @IBOutlet weak var textFieldTwo: UITextField! @IBOutlet weak var textFieldThree: UITextField! @IBOutlet weak var textFieldFor: UITextField! @IBOutlet weak var textFieldFive: UITextField! @IBOutlet weak var myScrollView: UIScrollView! }
设置NSNotificationCenter
override func viewDidLoad() { super.viewDidLoad() // 3.实现UITextField代理 textFieldOne.delegate = self textFieldTwo.delegate = self textFieldThree.delegate = self textFieldFor.delegate = self textFieldFive.delegate = self // 4.自定义NSNotifacationCenter NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil) } // 5.自定义当键盘出现时的方法, 参数为NSNotification func keyboardWillShow(notification: NSNotification) { adjustingHeight(true, notification: notification) } // 6.自定义当键盘消失时的方法, 参数为NSNotification func keyboardWillHide(notification: NSNotification) { adjustingHeight(false, notification: notification) } // 7.自定义自适应高度方法 func adjustingHeight(show: Bool, notification: NSNotification) { // 7.1获取userInfo let userInfo = notification.userInfo! // 7.2获取键盘的Frame let keyboardFrame = (userInfo[UIKeyboardFrameBeginUserInfoKey] as! NSValue).CGRectValue() // 7.3获取显示键盘和消失键盘的高度 let changeInHeight = (CGRectGetHeight(keyboardFrame) + 5) * (show ? 1 : -1) // 7.4设置向下偏移量 myScrollView.contentInset.bottom += changeInHeight // 7.5设置向下添加偏移量 myScrollView.scrollIndicatorInsets.bottom += changeInHeight }
实现UITextField的代理方法
// 8.UITextField代理方法, 当点击return键时, 就执行 func textFieldShouldReturn(textField: UITextField) -> Bool { // 8.1self.view取消编辑状态 self.view.endEditing(true) // 8.2返回true return true }
3.最终效果
好了, 这次就讲到这里, 下次我们继续
0 0
- 15.使用UIScrollView实现键盘自适应
- 使用UIScrollView 实现分页功能
- iOS 键盘自适应(IQKeyboardManager)使用小结
- iOS 键盘自适应(IQKeyboardManager)使用小结
- iOS 键盘自适应(IQKeyboardManager)使用小结
- UIScrollview 键盘遮挡问题
- 使用UIScrollView实现图片无限循环浏览
- iOS使用UIScrollView实现无限循环轮播图
- iOS 使用UIScrollView实现图片的缩放
- 5.利用 NSNotificationCenter实现键盘弹出时页面自适应
- xib的UIScrollView自适应高度
- IOS UIScrollView滚动内容自适应
- 使用Autolayout实现自适应UITableViewCell
- 使用AdaptiveTrigger实现自适应布局
- UIScrollView 使用
- UIScrollView使用
- UIScrollview使用
- 使用UIScrollView
- 在eclipse中查看Android源代码
- Android画个颜色渐变的圆环玩玩
- android 事件处理机制之requestDisallowInterceptTouchEvent
- java.lang.StackTraceElement类
- myeclipse代码提示+激活码
- 15.使用UIScrollView实现键盘自适应
- 系统assert与NDEBUG
- java 产生某个范围随机数的问题
- IOS Android 手机助手原理以及源码(获取手机屏幕截图)
- Java图形化界面设计——容器(JFrame)
- redis 主从模式
- myeclipse激活码生成器+代码自动提醒
- 常用屏幕方向设置
- Double 类型 运算处理