don/KeyboardToolbarRemover

iOS7 - Bar background not removed

Closed this issue · 17 comments

The bar background doesn't remove for iOS7
ios simulator screen shot oct 14 2013 10 08 19 pm

don commented

Are you using the latest code? This looks like something that was fixed with issue #7.

On Oct 15, 2013, at 4:14 AM, camdagr8 notifications@github.com wrote:

The bar background doesn't remove for iOS7


Reply to this email directly or view it on GitHub.

Yes, I'm using the latest code and reviewed Issue #8 and it still doesn't fix it. My guess is that it has something to do with the webView.backgroundColor. In another plugin that I use, I saw this set to "self.webView.backgroundColor = [UIColor whiteColor];" and I commented that out and then the keyboard bar had a black background but was still present. Or the height of the keyboard isn't adjusting properly after the bar is being removed?

ios simulator screen shot oct 15 2013 9 31 43 am

don commented

I'll make a sample project and I'll take a look at this tomorrow.

I have this too, on a brand new phonegap project. :-( (the stack overflow post was mine, but the fix did not work for me in the end)

don commented

The plugin works when height=device-height is in the viewport meta tag.

 <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

withheightequaltodeviceheight2

If height=device-height is removed, you'll see a bar above the keyboard.

withoutdeviceheight2

Thanks! Works!

Doesn't work for me. I'm using Sencha Touch 2.2.0 and I guess it overwrites the meta tags

While researching as to why the viewport fix works, I came across the following sencha 2.2.x issue, which might help @camdagr8 : http://www.sencha.com/forum/showthread.php?272926-iOS7-fix-for-Touch-2.2.x&s=ba449c586c18c60c32e31ccaea85650e&p=1000150&viewfull=1#post1000150

@stevenpsmith that solved my problems. Thanks!

But for some reason I get this error when I tap a textfield with the keyboard opened:

: CGContextGetBlendMode: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

-Edit-
Actually this only happens in the iPhone Retina 3.5 iOS7 Simulator.

don commented

Glad the Sencha fix worked.

We can get the CGContextGetBlendMode in a project that doesn't have the plugin.

  • Create a new cordova 3.1 project
  • Edit www/index.html to add <input type="text"/>
  • cordova platform add ios
  • cordova emulate
  • click in text field to show keyboard
  • double tap field

The "viewport" setting "height=device-height" doesn´t work for me on Cordova 2.9.0 too. I am still getting an empty bar at the top of my keyboard.

Remember!
Update plugin code
Thanks! Works!
screen shot 2013-10-17 at 2 56 27 pm

Ahhh ok... it is working for me in Cordova 2.9.0 too! Thanks!

Is there any way to solve this problem without adding height=device-height ?

don commented

@soleiljy adding height=device-height is the official fix.

You could resize the view. See @shazron's cordova 3.2 keyboard plugin https://github.com/apache/cordova-plugins/tree/master/keyboard for more details.

https://issues.apache.org/jira/browse/CB-4323

  • height=device-height being the official fix

= can't get this to work in ios7 properly for my web app. I can either have it working properly in a browser (no height=device-height) or properly working in a phonegap app (+height=device-height) but I need to cover both use cases. Any help?

don commented

@lakesta if you can upgrade to Cordova 3.2 try Shazon's keyboard plugin, otherwise you should be able to backport the resize view logic into this code. (if you do, send a pull request.)