Дми*_*син 6 keyboard qt qml ios
我正在开发一个跨平台的 QML QtQuick 应用程序。一个窗口是带有标题、消息区域和文本编辑输入的典型聊天窗口。在 iOS(在模拟器和真实设备中)上,我遇到了虚拟键盘的问题,该键盘将文本编辑以及整个窗口向上“移动”,并且不允许看到标题。
这是应用程序窗口的屏幕截图:https : //drive.google.com/file/d/0B6ZI4g3F2MLOSXB2RjBDbGNEWEk
同样的问题已经在 Qt 错误跟踪器中注册。但是没有解决办法。而且,论坛上也有过类似的问题,都没有答案。
关于解决方案或解决方法的任何想法?
我过去曾实施过解决方法,但确实存在问题。
避免使用键盘是一种痛苦,而且 Qt 滚动整个屏幕的统一方法并不理想(特别是当它有问题且难以禁用时),导致导航栏移出屏幕等。
基本上,我的解决方法是:
MouseArea
作为 的子项TextField
,这会停止设置焦点并启动默认滚动行为onClick
该处理程序中MouseArea
,移动该字段,使其不在键盘出现的区域下方。这可以使用状态和行为动画来完成让事物完美地呈现动画可能是一件痛苦的事情。此外,您可以在某种程度上对键盘的大小进行硬编码,但需要借助 ObjC 来获取实际的键盘高度(并通过某些属性将其公开给 QML)。
另一方面,即键盘关闭,也可能是一种痛苦。需要处理文本字段失去焦点、用户点击空白区域、用户点击关闭键(在 iPad 上)等问题。结账Qt.inputmethod
Qt 辩称,避免键盘很难做到,需要了解应用程序布局才能获得最佳结果。这就是为什么 UIKit 实际上根本不处理它(除非它知道滚动什么以及滚动多少,例如表格)。
归档时间: |
|
查看次数: |
1692 次 |
最近记录: |