iOS和android解决键盘弹出遮挡控件的处理比较
2016-05-26 本文已影响334人
UniThan
- 在实现最基本的问题解决方法的前提下,android使用的代码更少。
- iOS更多的代码意味着更多的自定义特性(动画)
android实现:
1.建议在布局文件中使用scrollview或listview,这两个控件中的内容可以随意随着键盘弹起,不会变形
2.在AndroidManifest.xml文件中对应的activity中标注属性
android:windowSoftInputMode="adjustUnspecified|stateHidden"
iOS实现:
-
在viewWillAppear方法中注册键盘弹起通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardFrameChanged:", name: UIKeyboardWillChangeFrameNotification, object: nil)
-
实现方法keyboardFrameChanged,在该方法中,更改控件的位置,使键盘弹起之后,控件位于键盘之上,在键盘隐藏之后,回复控件的位置,还可以设置键盘出现和隐藏动画