PhoneGap中文网

 找回密码
 立即注册
查看: 48378|回复: 11
打印 上一主题 下一主题

IOS 9中 ionic header 被键盘顶出屏幕

[复制链接]

14

主题

29

帖子

170

积分

注册会员

Rank: 2

积分
170
跳转到指定楼层
楼主
发表于 2016-2-27 17:52:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ddcat 于 2016-2-27 17:54 编辑

IOS 9,当input获得焦点的时候,弹出键盘,会把ionic的header顶到屏幕外面,导致状态条文字和内容重叠。

ionic的文档里写:
如果在input获取焦点时,你app的内容(包含header)被挤到上面或视图以外,就需要尝试设置cordova.plugins.Keyboard.disableScroll(true)。

但是在app.js内加入
  1. $ionicPlatform.ready(function() {
  2.       if(window.cordova && window.cordova.plugins.Keyboard) {
  3.         cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  4.         cordova.plugins.Keyboard.disableScroll(true);
  5.       }
复制代码

并没有什么效果,不知道是哪里设置不对么?
此时,我想将系统的状态条设置为黑色背景,这样可以覆盖下面的文字。
但是我添加了StatusBar插件,在app.js内加入:
  1.       if(window.StatusBar) {
  2.         StatusBar.styleBlackOpaque();
  3.       }
复制代码

也是没有效果。

求解救!!!


回复

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
沙发
发表于 2016-2-27 20:34:05 | 只看该作者
截个图瞅瞅
回复 支持 反对

使用道具 举报

14

主题

29

帖子

170

积分

注册会员

Rank: 2

积分
170
板凳
 楼主| 发表于 2016-2-27 20:48:47 | 只看该作者

正常情况:


当键盘弹出来:


谢谢!!
回复 支持 反对

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
地板
发表于 2016-2-29 09:14:08 | 只看该作者
  1.     .run([ '$rootScope', '$state', '$stateParams','$ionicPlatform','Storage', function ($rootScope,$state,$stateParams,$ionicPlatform,Storage) {
  2.      $ionicPlatform.ready(function() {
  3.      // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
  4.      // for form inputs)
  5.          if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
  6.             cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  7.          }
  8.         if (window.StatusBar) {
  9.          // org.apache.cordova.statusbar required
  10.               StatusBar.styleLightContent();
  11.          }

  12.          document.addEventListener("deviceready",  function onDeviceReady() {
  13.              // console.log('设备id:'+device.uuid);
  14.              Storage.set('device_id',device.uuid);
  15.          }, false);

  16.      });
复制代码
下面这个插件配置一下,ios有输入框 内容向上是正常的,但是导航栏应该是不会动的

  if (window.StatusBar) {
         // org.apache.cordova.statusbar required
              StatusBar.styleLightContent();
         }


回复 支持 反对

使用道具 举报

14

主题

29

帖子

170

积分

注册会员

Rank: 2

积分
170
5#
 楼主| 发表于 2016-2-29 11:57:54 | 只看该作者
ionicwang 发表于 2016-2-29 09:14
下面这个插件配置一下,ios有输入框 内容向上是正常的,但是导航栏应该是不会动的

  if (window.StatusBar ...

安卓里面,header是不会顶上去的,只是ios里会顶上去。
我在controller里添加disableScroll(true),则键盘又会覆盖掉输入框。

我的另一个app,ios中并没有这个问题,看来还是哪里设置的不对了。

StatusBar 我昨天试了一天,但是只能改变文字为白色,背景色却一直是透明的。
我尝试网上说的,把webview的高度下移20px,但是这样仍然无法解决整个儿webview被顶上去的问题。


回复 支持 反对

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
6#
发表于 2016-2-29 13:36:27 | 只看该作者
org.apache.cordova.statusbar   安装这个插件 按照楼上的方式试试

ios中输入框就是顶上去的
回复 支持 反对

使用道具 举报

14

主题

29

帖子

170

积分

注册会员

Rank: 2

积分
170
7#
 楼主| 发表于 2016-2-29 16:05:30 | 只看该作者
admin 发表于 2016-2-29 13:36
org.apache.cordova.statusbar   安装这个插件 按照楼上的方式试试

ios中输入框就是顶上去的 ...

我的问题不是输入框被顶上去,而是ionic 的 header 被顶得看不到了。
回复 支持 反对

使用道具 举报

14

主题

29

帖子

170

积分

注册会员

Rank: 2

积分
170
8#
 楼主| 发表于 2016-2-29 17:44:44 | 只看该作者
崩溃了。。。。

刚才又编译了一下,问题消失了。
nav-bar不会被顶出去了。。。。。。
真是白白浪费了两天时间。。。。。。
谢谢楼上的帮助了。。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

14

积分

新手上路

Rank: 1

积分
14
9#
发表于 2016-3-9 17:31:28 | 只看该作者
楼主求助啊,我也遇到了跟你一样的情况。ionic开发的ios   <input>标签填写内容,页面就会放大把下面的导航栏顶出屏幕去找不到。然后我也按照楼上所说的
if (window.StatusBar) {
         // org.apache.cordova.statusbar required
              StatusBar.styleLightContent();
         }
跟你说的: cordova.plugins.Keyboard.disableScroll(true);
都加上了,插件什么的都装了。导出ipa测试还是会把导航顶没
回复 支持 反对

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
10#
发表于 2016-3-9 20:15:58 | 只看该作者
15689705887 发表于 2016-3-9 17:31
楼主求助啊,我也遇到了跟你一样的情况。ionic开发的ios   标签填写内容,页面就会放大把下面的导航栏顶出 ...

多方一些内容  网上拉 然后看看header在哪里
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-11-29 04:32 , Processed in 0.077858 second(s), 36 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表