百度页面打开:手机总是自动跳出页面白版挡住文本,点末右上角X却退不掉白版版面,为什么

iOS上面对键盘的处理很不人性化所以这些功能都需要自己来实现,

首先是点击return和屏幕隐藏键盘

这个首先引用双子座的博客 /plumsoft/blog/42545他的文章写的很好,对大家的理解很有好处

茬 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘但是 iPhone 程序中的键盘却没囿这样的按钮,不过我们可以采取一些方法关闭它例如,我们可以实现按下 Rerun (有时也是 Done、Research 等)键关闭键盘或者,更人性化的轻触背景关闭键盘。

1、首先讲一下按下Return键关闭键盘

当按下键盘的 Return 键,会产生一个 Did End On Exit 事件此时,我们告诉文本框要放弃控件于是键盘就消失了。

在这个基础上实现轻触 Return 关闭键盘,步骤为:

给其他两个文本框进行同样的操作现在,已经实现了轻触 Return 键关闭键盘

2、下面介绍更人性化的方法,轻触背景关闭键盘

跟上面的步骤差不多,首先定义一个方法然后实现这个方法,接下来将指定的控件映射到这个方法並选择好所触发的事件。不同的是这次我们要选择的控件不是上边的文本框,而是视图 View 本身

(3)让 View 映射到这个方法,不过事先我们先要改变 View 的类型。

好了可以运行下看看效果了:

打开键盘之后,在背景区域点击一下键盘就会向下收起来。

然后点评在网上也有只寫一个 backgroundTap 函数,然后将所有组件都 resignFirstResponser的方法即 将组件的事件和屏幕的事件指向同一个函数。

这两个方法都是可以用的但是呢,我更加倾向於使用同一个函数的方法原因呢,原因就要牵扯到第二个方面的知识:

因为屏幕太小的缘故一个键盘跳出来总是把输入框挡住,所以需偠移动屏幕来匹配键盘

只要在代码中加入这三个文件然后将自身delegate

如右上角  就可以实现屏幕的移动了,

但是这里经常会有屏幕移动后不能返回的问题这里的解决方案就是

backgroundTap函数中添加这些代码,这样屏幕就会返回正常了


}

我要回帖

更多关于 手机总是自动跳出页面 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信