键盘推高导航栏

时间:2014-05-20 15:40:45

标签: cordova onsen-ui

以下是我在应用中遇到问题的图片: enter image description here enter image description here

这是我的代码:http://pastebin.com/JckpYKYz

任何解决方案?

我想在键盘出现在该页面时隐藏状态栏。

谢谢!

2 个答案:

答案 0 :(得分:0)

默认情况下,在cordova中会显示状态栏。您可以通过在cordova项目中添加一些代码来以编程方式隐藏状态。通过更改一些本机代码可以轻松管理您的情况。

打开你的项目,

collapse "CordovaLib.xcodeproj" >> Classes >> Cleaver >> CDVViewController.m

在该文件中,您将找到一个名为

的函数
- (void)viewDidLoad

在其中输入以下代码行

[[UIApplication sharedApplication] setStatusBarHidden:YES];

我看起来像这样,

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSURL* appURL = nil;
    NSString* loadErr = nil;
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [[webView scrollView] setBounces: NO];
    if ([self.startPage rangeOfString:@"://"].location != NSNotFound) {
        appURL = [NSURL URLWithString:self.startPage];
.......

<强> [OR]

如果你想要一直显示状态栏,只想在键盘出现时隐藏它,

然后检查名为

的同一文件中的另一个函数
- (void) keyboardWillShow:(NSNotification *)note {

并输入以下代码行

[[UIApplication sharedApplication] setStatusBarHidden:YES];

和in,

- (void) keyboardWillHide:(NSNotification *)note {

输入以下代码行

[[UIApplication sharedApplication] setStatusBarHidden:NO];

在某些cordova版本中,只有这个,

- (void)keyboardWillShowOrHide:(NSNotification*)notif

在那种情况下写一个条件来检查键盘是否显示或隐藏,并在其中放置上面的代码行以显示和隐藏状态栏。

希望这是您正在寻找的,如果您满意,请接受答案。 美好的一天!

答案 1 :(得分:0)

我认为这是css问题。 HTML compoentn的高度可能用&#34;%&#34;指定。使用&#34; px&#34;指定高度或使用position:absolute。

显示软件键盘会影响html元素的高度。