[ 
https://issues.apache.org/jira/browse/CB-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273535#comment-13273535
 ] 

Jesse MacFadyen commented on CB-751:
------------------------------------

It makes sense that different views within an application may want to limit 
their supported orientations, so this was an opportunity to give the webview a 
chance to decide if it should rotate.

This functionality is available on the native side for all devices, so to me it 
makes sense to support it in cordova.  However, until it is supported on all 
platforms, or documented as a non-existent quirk, it is a defect.

Setting supported orientations in the plist in an iOS project is a one time 
thing, IMHO the plist should always support all orientations and the 
developer's code should be able to choose whether it wants to rotate based on 
it's current state.

The previous mailing list discussion de-volved into building a vast API for the 
webview code to specify it's available orientations at any given time, however 
it is not possible to force an orientation change based on the call to set the 
available orientations to something different than the current orientation.

The error above can be safely ignored, it is Obj-C calling a method it expects 
to be defined on the window. 'shouldRotateToOrientation'
If you do not want to see the error message, because it bugs you, simply add :

window.shouldRotateToOrientation = function(newOrientation){return true;};

Alternatively, we could change the Obj-C side to be :


NSString* jsCall = [ NSString 
stringWithFormat:@"(function(){if('shouldRotateToOrientation' in window) return 
window.shouldRotateToOrientation(%d);})();",i];

Then at least no one would see errors output ..



                
> Undefined function is called when orientation change
> ----------------------------------------------------
>
>                 Key: CB-751
>                 URL: https://issues.apache.org/jira/browse/CB-751
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.6.0, 1.6.1, 1.7.0
>         Environment: ipod, ios 5.1
>            Reporter: Clement Vollet
>            Assignee: Shazron Abdullah
>             Fix For: 1.8.0
>
>
> I get an undefined exception when changing the orientation of the device.
> Steps to "recreate":
> in a new project, add the following in index.html:
>       function onDeviceReady()
>       {
>               // do your thing!
>               navigator.notification.alert("Cordova is working")
>         window.onerror=function(error_msg, URL, line_number) {
>             console.log("WINDOW > Message: " + error_msg);
>             console.log("WINDOW > URL: " + URL);
>             console.log("WINDOW > Line: " + line_number);
>         }
>       }
> And then in the simulator, rotate the screen.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to