我们正在使用 Phonegap 开发我们的移动应用程序,我们从这里借用代码来删除键盘上的黑色 next/prev/done 栏:
https://stackoverflow.com/a/9276023/35364
该代码的作用是找到作为 UIView 对象的黑条,并在其上调用“removeFromSuperview”。
我们不熟悉 iOS SDK/API。因此,虽然我们可以查看代码并了解它在做什么,但我们无法判断它是否正确执行,或者如何改进它。
我们遇到的具体问题:
我们有一个用于编写消息的文本字段,我们手动控制该字段的位置,使其正好位于键盘上方,类似于原生短信应用程序。换句话说,我们把它放在应该是黑条的地方。
当我们在消息字段中聚焦/键入时,系统会将视图向上推送。似乎这是一种确保用户键入时文本字段不可见的机制。
即使文本字段可见,也会发生这种情况。
我注意到,通过将输入字段放在黑条通常所在的位置上方(与它后面相反),视图不会滚动。
因此,系统似乎以某种方式认为黑条仍然存在!
(仔细检查:当黑条没有被移除时,我们将文本字段放在它的正上方,我们可以聚焦并输入它,并且视图不会滚动)。
所以问题是:
为什么“系统”在编辑位于黑条应该在“后面”的文本字段时将内容向上推?是不是因为黑条还没有完全去掉?我们需要做些什么来“完全”移除黑条吗?我们是否需要强制 iOS 重新计算键盘的大小?或者到底是什么?
这个机制(上推视图)是iOS的UIWebView实现的,还是Phonegap实现的?
有没有解决这个问题的phonegap应用程序?