iOS输入框随键盘滑动的另类实现
2015-11-25 17:10
615 查看
在日常的功能实现中,UITextField 或者 UITextView位置位于底部时会被键盘的弹出而遮盖,这是经常出现的问题。
上午查找了半个小时,发现网上的方法实现起来比较麻烦,1.根据键盘高度改变视图位置,这种需要适配不同机型而且还要考虑中英文转换的情况。直接说自己的另类做法吧。
UITextField本身有inputAccessoryView这个属性,这个视图是直接加载到键盘上方的。代码前后实现的界面如下。
像上面一样,将底部的UIView整个加载到键盘的上方,无论任何机型和系统都可以适配。代码如下。
将同样的视图写出两个,一个用来放在底部,一个用来当作InputAccessoryView。将两个textField的文字相关联,监听文字的改变。(如下)
- (void) textFieldDidChange:(id) sender {
UITextField *_field = (UITextField *)sender;
_bottomField1.text = _field.text;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
这样就可以简单的实现输入框与键盘的遮挡问题。
上午查找了半个小时,发现网上的方法实现起来比较麻烦,1.根据键盘高度改变视图位置,这种需要适配不同机型而且还要考虑中英文转换的情况。直接说自己的另类做法吧。
UITextField本身有inputAccessoryView这个属性,这个视图是直接加载到键盘上方的。代码前后实现的界面如下。
像上面一样,将底部的UIView整个加载到键盘的上方,无论任何机型和系统都可以适配。代码如下。
将同样的视图写出两个,一个用来放在底部,一个用来当作InputAccessoryView。将两个textField的文字相关联,监听文字的改变。(如下)
- (void) textFieldDidChange:(id) sender {
UITextField *_field = (UITextField *)sender;
_bottomField1.text = _field.text;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
这样就可以简单的实现输入框与键盘的遮挡问题。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 在 Linux 下交换 Ctrl 与大写锁定键
- CS 1.5 键盘基本操作快捷键
- C#控制键盘按键的常用方法
- C#检查键盘大小写锁定状态的方法
- extjs form textfield的隐藏方法
- 按键盘方向键翻页跳转的javascript代码(支持ie,firefox)
- C++处理键盘输入的方法
- 键盘 keycode的值 javascript时触发事件时很有用的要素
- JavaScript取得键盘按下方向键是哪个的方法
- js鼠标、键盘事件实例代码
- 如何让div span等元素能响应键盘事件操作指南
- 键盘扫描码[比较完整]
- javascript 响应键盘特定按键(只响应数字键)