cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shazron <shaz...@gmail.com>
Subject Re: iOS: shouldRotateToOrientation javascript handler
Date Fri, 05 Jul 2013 16:51:11 GMT
If we have a suitable replacement to point users to - I'm all for it. The
use case for this is if a user has an app that is portrait only, but needs
to display something (video?) in landscape thus "overriding" the app
default.s


On Fri, Jul 5, 2013 at 9:11 AM, Michal Mocny <mmocny@chromium.org> wrote:

> Yeah, sorry, I meant the JS method: window.shouldRotateToOrientation is
> undocumented and not supported on other platforms.
>
>
> On Fri, Jul 5, 2013 at 11:47 AM, Andrew Grieve <agrieve@chromium.org>
> wrote:
>
> > I think he means it's undocumented within Cordova's docs.
> >
> >
> > On Fri, Jul 5, 2013 at 11:20 AM, Ian Clelland <iclelland@google.com>
> > wrote:
> >
> > > I'm not sure what you mean by "Undocumented" in this case -- it's not a
> > > private API that would get you booted from the App Store; it's a
> > documented
> > > method on UIView, although it's been deprecated recently.[1]
> > >
> > > Agreed that supporting the screen-orientation spec is probably the way
> to
> > > go in the future, on any platforms that can support it.
> > >
> > > [1]
> > >
> > >
> >
> http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#jumpTo_9
> > >
> > >
> > > On Fri, Jul 5, 2013 at 10:18 AM, Michal Mocny <mmocny@google.com>
> wrote:
> > >
> > > > iOS seems to have an undocumented "feature" to call into javascript
> > > before
> > > > every device orientation change (pasted below for your viewing
> > pleasure).
> > > >
> > > > I can't find any such similar functionality on other platforms,
> should
> > it
> > > > be removed?  Likely we will want to write a screen orientation (
> > > > http://www.w3.org/TR/screen-orientation/) plugin instead
> (eventually).
> > > >
> > > >
> > > > -
> > > >
> > > >
> > >
> >
> (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
> > > > {
> > > >     // First, ask the webview via JS if it supports the new
> orientation
> > > >     NSString* jsCall = [NSString stringWithFormat:
> > > >         @"window.shouldRotateToOrientation &&
> > > > window.shouldRotateToOrientation(%d);"
> > > >         , [self
> > mapIosOrientationToJsOrientation:interfaceOrientation]];
> > > >     NSString* res = [webView
> > > > stringByEvaluatingJavaScriptFromString:jsCall];
> > > >
> > > >     if ([res length] > 0) {
> > > >         return [res boolValue];
> > > >     }
> > > >
> > > >     // if js did not handle the new orientation (no return value),
> use
> > > > values from the plist (via supportedOrientations)
> > > >     return [self supportsOrientation:interfaceOrientation];
> > > > }
> > > >
> > > > -Michal
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message