微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我刚刚使用示例iOS应用程序测试了Cordova 3.1,并遇到了几个键盘问题.

应用设置:

> Xcode 5
>状态栏已隐藏
>风景模式

config.xml中

问题:

>所有版本:当关注输入字段时,整个视图会被推高,包括导航栏.
> iOS5 / 6:点击输入字段打开键盘,然后在键盘按下整个视图之前,屏幕顶部会短暂显示黑色间隙(是状态栏吗?)
> 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开发人员工作的地方.
https://issues.apache.org/jira/browse/CB-3020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13769996#comment-13769996

通过添加一个简单的动画来调整webview的大小,我能够让顶部标题滑动.这是放在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];

我接近让黑色的酒吧被隐藏但却无法让它运转良好.这篇文章描述了你需要做的事情.您需要将webview reizing动画与键盘动画匹配.
iOS 7 – Keyboard animation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐