如何修复 iOS 上 Cordova 3.1 的键盘问题?

2024-02-13

我刚刚测试过科尔多瓦3.1使用示例 iOS 应用程序并遇到了几个键盘问题。

应用程序设置:

  • Xcode 5
  • 状态栏被隐藏
  • 横向模式

配置文件

Issues:

  1. 所有版本:当焦点位于输入字段时,整个视图都会向上推,包括导航栏。

  2. iOS5/6:点击输入字段打开键盘,然后屏幕顶部短暂显示一个黑色间隙,然后键盘将整个视图向上推(是状态栏吗?)

  3. iOS7:没有像#2问题那样的黑隙,但还有其他问题:

    • 在删除(隐藏)之前我仍然看到附件栏。

    • 键盘是半透明的,然后我可以在当前视图向上推的空间中看到较暗的背景。

如果我改变了,事情会更糟:

  • 视图仍然被向上推,当输入字段失去焦点时,屏幕顶部会出现一个黑色间隙,即使在 iOS 7 上,如果 KeyboardShrinksView = false 也不会发生什么。

  • iOS 7 上的键盘不再是半透明的。

下面是我的config.xml

<preference name="DisallowOverscroll" value="true" />
    <preference name="HideKeyboardFormAccessoryBar" value="true" />
    <preference name="KeyboardDisplayRequiresUserAction" value="false" />
    <preference name="KeyboardShrinksView" value="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="EnableLocation" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="Fullscreen" value="true" />
    <preference name="Orientation" value="landscape" />

查看此线程。这里报告了很多相同的问题。最好将您的信息添加到 Cordova JIRA 错误跟踪系统中,因为这是所有 cordova 开发人员工作的地方。

通过在 web 视图的大小调整中添加一个简单的动画,我能够从滑动中获得顶部标题。这是放入 CDViewController.m 中的 KeyboardWillShow 函数中的代码

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[self.webView setFrame:(CGRectMake(newFrame.origin.x, newFrame.origin.y, newFrame.size.width, newFrame.size.height))];
[UIView commitAnimations];

我差点就让黑条不被隐藏了,但无法让它很好地工作。这篇文章描述了您需要做什么。您需要使网络视图调整动画与键盘动画相匹配。iOS 7 - 键盘动画 https://stackoverflow.com/questions/18957476/ios-7-keyboard-animation

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复 iOS 上 Cordova 3.1 的键盘问题? 的相关文章

随机推荐

  • Vuetify 数据表不显示数据

    Vuetify 数据表不显示数据 显示显示了 1 行中的 1 行 但表体为空 我的组件代码
  • 从子表单更改父表单属性的正确方法是什么?

    我只是想知道我是否以正确的方式这样做 我有两个表单 一个父表单和一个子表单 选项对话框 要从子表单更改父表单中的属性 我使用如下代码 Create an array of all rich textboxes on the parent f
  • 部署时捆绑器错误

    我目前正在使用guard 即guard coffeescript gem 在我的OSX 开发系统上编译我的javascript 将来我可能会添加更多的guard 任务 我添加了rb fseventgem 到我的 Gemspec 现在我看到在
  • 我应该在临时/生产环境中使用 PHPUnit 吗?

    我已经安装了 PHPUnit 框架来执行单元测试 我已经编写了测试用例 并且还使用了现有的 PHPUnit 库进行测试 是否需要在临时和生产环境中配置 PHPUnit 框架 如果是这样 phpunit 测试框架和相关文件会在暂存和生产中占用
  • Angular2 ng-bootstrap:使用不同的数据重用模态模板

    我正在构建一个类似仪表板的界面 其中包含一组包含可比数据的实体 这些实体中的每一个都有一个编辑按钮 我想用它来打开一个显示相应数据的模式 我想重用相同的模式模板 并显示来自单击编辑按钮的实体的数据 我在用Angular2 with ng 引
  • 检查 Java 中的内存布局

    我正在尝试继承 出于教育目的 我想检查为各种对象分配的地址以及对象内的字段 有没有一个工具可以让我查看 JVM 正在使用哪些内存以及它的用途 例如 如果我有两个课程 class A int i j int f class B extends
  • 在 cap 部署时预编译资产时收到“警告:已初始化常量”

    目前 我在通过 capistrano 进行生产部署时遇到了关于部署 资产 预编译的奇怪警告消息 当我第一次部署演示 Rails 项目时运行 cap 生产部署时 收到以下警告消息 并且部署失败 cap 中止
  • 如何通过创建React应用程序启用JIT(即时模式)?

    我尝试自己在 create react app 中设置 JIT 但它似乎不起作用 因为样式没有更新 我正在使用 craco 来构建带有 tailwind css 的应用程序 并且还添加了 TAILWIND mode WATCH 因为他们建议
  • 如何自动装配 Spring 环境对象

    我正在尝试从应用程序对象内的 properties 文件获取属性 我对如何做到这一点的唯一了解是通过Environment object 它在我的配置中运行得很好 Configuration ComponentScan basePackag
  • 使用基于 Spark 数据集的 ML API 时初始化逻辑回归系数?

    默认情况下 逻辑回归训练将系数初始化为全零 但是 我想自己初始化系数 这将很有用 例如 如果之前的训练运行在几次迭代后崩溃了 我可以简单地使用最后一组已知的系数重新开始训练 这对于任何基于数据集 数据帧的 API 最好是 Scala 是否可
  • div 真的可以覆盖布局上所有内容的 table 吗?

    也许已经有一个关于这个主题的问题 但我找不到它 我的问题很简单 我可以在页面布局上仅使用 div 吗 例如 我在创建一个带有角的 div 时遇到了麻烦 A B C D E F G H I 将所有字母作为带有一些背景的div 而字母E是放置内
  • Kubernetes:获取容器内的实际资源限制

    有没有办法获取容器内的实际资源 CPU 和内存 约束 假设节点有 4 个核心 但我的容器通过资源请求 限制仅配置了 1 个核心 因此它实际上使用 1 个核心 但它仍然从 proc cpuinfo 看到 4 个核心 我想根据应用程序实际可以使
  • 查询线程(不是进程)处理器关联性?

    在 Windows 上 您可以为进程调用 SetProcessAffinityMask 为线程调用 SetThreadAffinityMask 然而 Windows 似乎只公开 GetProcessAffinityMask 而不是针对进程的
  • 部署到 OS X 10.6 和“使用旧版运行时的平台不支持 -fobj-arc”

    背景 我正在为 OS X 构建一个应用程序 部署目标为 10 6 我还没有将我的应用程序完全转换为 ARC 但我添加了一些将从 ARC 中受益的新类 因此我设置了 fobj arc这些类的编译器标志 编译失败通用 32 64 位英特尔架构
  • 更改 scanf() 分隔符

    我的目标是改变分隔符scanf to n 我尝试使用scanf n s sen 并且对于单一输入工作得很好 但是当我将同一条线放入for循环多个句子它给了我垃圾值 有谁知道为什么 这是我的代码 char sen 20 for i 0 i l
  • 如何在laravel上使用dd()而不停止程序

    我正在用 laravel 构建一个网站 我想调试我的程序 但很难使用 dd 因为它会立即停止程序 我想让它每次执行时逐行显示 知道吗 任何帮助将不胜感激 谢谢 在不输出到页面的情况下获取结果的另一种方法 有时对生产很有用 是将其记录到文件中
  • Spring Data Rest:如何通过另一个对象的键进行搜索?

    在 Spring Data Rest 中 对象的 ID 是随对象返回的 URI 例如 如果我有一个用户 它可能有一个如下 URI http example com users 1 在真实的 REST api 中 此 URI 是对象的 id
  • 使用 ElementTree 修改 XML

  • 从字符串中删除最后一个字符。斯威夫特语言

    如何使用 Swift 从 String 变量中删除最后一个字符 在文档中找不到它 这是完整的示例 var expression 45 22 expression expression substringToIndex countElemen
  • 如何修复 iOS 上 Cordova 3.1 的键盘问题?

    我刚刚测试过科尔多瓦3 1使用示例 iOS 应用程序并遇到了几个键盘问题 应用程序设置 Xcode 5 状态栏被隐藏 横向模式 配置文件 Issues 所有版本 当焦点位于输入字段时 整个视图都会向上推 包括导航栏 iOS5 6 点击输入字