【问题标题】:Overlaying custom keyboard over iOS keyboard在 iOS 键盘上覆盖自定义键盘
【发布时间】:2012-09-12 02:52:00
【问题描述】:

我正在为视障人士开发一款 iOS 浏览器应用。

我已经构建了一个带有大字母/数字和自定义弹出字母的大键盘,这使得有视觉障碍的人可以非常轻松地使用应用程序本身。

当用户导航到一个网站并尝试在该网站的某个字段(密码字段、搜索字段等)中输入文本时,问题就来了。在这种情况下,标准 iOS 键盘部署 - 大约是我的自定义键盘大小的 1/2,并且没有弹出字母 - 并且对于有视觉障碍的人来说不容易使用。

我正在为此寻找一种创造性的解决方法,并希望堆栈溢出的聪明才智能够提供帮助。

我知道我们无法禁用 iOS 键盘。我想提出的解决方案是:

1) 有没有一种方法可以在 iOS 键盘顶部覆盖一个图像,该图像在 iOS 键盘的字母/数字的确切位置包含更大的字母/数字字符 - 所以当iOS 键盘部署后,我们的伪键盘会部署在它上面吗?当用户选择一个键时,他们实际上将选择覆盖层下方的相应键 - 触发该字母或数字?如果是这样,我们是否还可以添加自定义弹出框?

2) 代替上述方法,有没有办法使 iOS 按键变大或以其他方式自定义其外观?

您可能有任何意见或想法,我们将不胜感激。

【问题讨论】:

    标签: ios keyboard customization


    【解决方案1】:

    似乎解决方案是执行以下操作:

    var hideKeyboard = function() {
        document.activeElement.blur();
        $("input").blur();
    };
    

    我在SO 上找到了一个不同措辞问题的答案

    【讨论】:

    • 太棒了!这将允许我隐藏默认键盘,但我仍然面临使用我自己的自定义键盘将文本输入网页(登录/密码字段或搜索字段等)的障碍。从我正在阅读的内容来看,您无法使用自定义键盘从 iOS 应用程序将文本输入到 HTML Web 文本字段中。我希望有人发现了异常或解决方法。
    【解决方案2】:

    为什么你不能根据这个问题使用 iOS 自定义键盘:

    How to create a custom keyboard

    您提到它在网页上,假设它在 UIWebView 中。似乎您可以尝试在 UIWebView 本身上设置自定义 inputView 以调出您的自定义输入视图。

    【讨论】:

    • 我发现,在应用程序中,当我选择标准 iOS 键盘默认启动的网页中的文本字段(如登录或搜索字段)时。根据我正在阅读的内容,您不能使用自定义键盘在使用自定义键盘的 html 网页内的文本字段中添加文本。这就是为什么我希望在 iOS 键盘上覆盖自定义键盘 - 以提供相同的一般用户体验。当用户选择“A”键时,他们实际上只是选择了下方 iOS 键盘的“A”键 - 问题解决了。这是在黑暗中拍摄的。想法?
    • 加载网页后,您可以爬过整个视图树以查找 UIView,并将您的自定义输入视图附加到每个视图。表单上显示键盘的字段很可能是一种 UIView,它是 UIWebView 继承自的 UIScrollView 的子视图。
    【解决方案3】:

    在我的项目中,我还被要求为 uiwebview 设计一个自定义数字键盘,我找到了防止显示默认键盘的解决方案。 在输入标签中添加一个属性
    <input class="customPad" readonly="true">,
    然后在用户单击它时绑定一个事件。
    $('customPad').click(){window.location="locationpattern"}
    通过更改窗口位置,在您的 uiwebview 中,您可以使用委托逐个处理它并弹出您想要的任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-04
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 2016-09-14
      • 2017-04-20
      相关资源
      最近更新 更多