Кордова iOS меняет ориентацию экрана на пейзаж на одной странице

У меня есть приложение, разработанное в Cordova 3+ для iPhone. В настоящее время приложение работает нормально. Я также ограничил ландшафтный вид текущего приложения, то есть приложение отображалось только в портрете.

Приложение состоит из большого количества описаний и страницы отчета. Я хочу отображать все страницы в портрете и отображать страницу отчетов в Пейзаже.

Iam с использованием Backbone.js + underscore.js framework.

У кого-нибудь есть какое-либо предложение или решение для этого?

Заранее спасибо!

Изменить: то, что я хочу, – это заставить эту страницу отчета отображать в ландшафтном представлении. И отобразить всю другую страницу в портрете.

Изменить: программно контролировать ориентацию экрана в iPhone для кордовы 3+

Однако я не мог найти никаких решений. Atlast я достиг этого с помощью CSS.

-ms-transform:rotate(-90deg); /* IE 9 */ -webkit-transform:rotate(-90deg); /* Chrome, Safari, Opera */ transform:rotate(-90deg); /* Standard syntax */ 

В любом случае это не идеальное решение, но оно работает.

И вы можете программно изменить одну страницу на альбом с использованием собственного кода и вызвать его с помощью javascript.

Создайте новый файл js как ScreenOrientation.js и вставьте приведенный ниже код,

 var ScreenOrientation = { //alert(orientation); callScreenOrientationNative: function(success,fail,orientation) { return Cordova.exec( success, fail, "ScreenOrientation", "screenorientationFunction", [orientation]); } }; 

И добавьте указанный выше файл в index.html, как показано ниже,

 <script type="text/javascript" src="ScreenOrientation.js"></script> 

Добавьте функцию ниже в любой добавленный js-файл (в моем проекте я добавил файл script.js для добавления общих функций),

 function callScreenOrientation(orientation) { ScreenOrientation.callScreenOrientationNative(nativePluginResultHandler,nativePluginErrorHandler,orientation); } function nativePluginResultHandler (result) { } function nativePluginErrorHandler (error) { } 

В config.xml добавьте ниже имя функции,

 <!-- Screen Orientation custom plugin to display reports page. --> <feature name="ScreenOrientation"> <param name="ios-package" value="ScreenOrientation"/> </feature> 

В разделе «Плагины» добавьте (для кордовы <3.0),

 <plugins> <plugin name="ScreenOrientation" value="ScreenOrientation" /> </plugins> 

На проектах Кордовы> Плагины щелкните правой кнопкой мыши и выберите новый файл, затем выберите iOS, выберите Cocoa touch, затем выберите Object-C Class и нажмите «Далее», в имени класса вставьте «ScreenOrientation» и в подкласс «CDVPlugin» и нажмите «Далее» и нажмите «Создать».

Введите ниже в ScreenOrientation.h,

 #import <Cordova/CDV.h> @interface ScreenOrientation : CDVPlugin - (void) screenorientationFunction:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; @end 

Введите ниже в ScreenOrientation.m,

 #import "ScreenOrientation.h" @implementation ScreenOrientation - (void) screenorientationFunction:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options { [arguments pop]; NSString *orientation = [arguments objectAtIndex:0]; if ( [orientation isEqualToString:@"LandscapeLeft"] ) { NSLog(@"Landscape Left"); [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeLeft]; } else if ( [orientation isEqualToString:@"LandscapeRight"] ) { NSLog(@"Landscape Right"); [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight]; } else if ( [orientation isEqualToString:@"Portrait"] ) { NSLog(@"Portrait"); [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationPortrait]; } else if ( [orientation isEqualToString:@"PortraitUpsideDown"] ) { NSLog(@"Portrait upSide Down Left"); [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationPortraitUpsideDown]; } } @end 

В проекте «Кордова» нажмите «Поиск» и найдите «shouldAutoRotate» и найдите ниже и измените значение возврата, по умолчанию «YES» изменит его на «NO».

CDVViewController.m

 - (BOOL)shouldAutorotate { return NO; } 

И в настройках проекта, в настройках устройства проверяют все параметры (не важно, хотя),

 Project Settings > Device orientation > Tick all 4 options. 

И назовите его из своего проекта, как это,

 callScreenOrientation('LandscapeLeft'); callScreenOrientation('LandscapeRight'); callScreenOrientation('Portrait'); callScreenOrientation('PortraitUpsideDown'); 

Ознакомьтесь с этой ссылкой для плагина ориентации.

http://www.web-garden.co.uk/blog/2012/7/29/how-to-control-the-page-orientations-in-your-ios-phonegap-application-part-2

Этот плагин позволяет программно поворачивать экран на iOS и Android.

https://github.com/kant2002/cordova-plugin-screen-orientation

Ротация Android имеет видимые сбои из-за производительности (ваш пробег может варьироваться в зависимости от размера DOM), но при вращении iOS отлично.

  • IPhone не распознает навигатор PhoneGap.
  • Можно ли отслеживать клики через iPhone Smart Banner
  • Каков наилучший способ обработки longtap и событий двойного касания на мобильных устройствах с помощью jQuery?
  • Коснитесь событий не срабатывает на видео теги на сафари для iPhone
  • Доступная iPhone / веб-приложение JavaScript UI Library / Frameworks
  • UIWebView CSS-инъекция с использованием JavaScript
  • Обнаружение устройств сенсорного экрана с помощью Javascript
  • Ограничение LocalStorage на PhoneGap
  • Странное поведение события select / dropdown onchange () JS при использовании флажка «Следующий» в раскрывающемся списке «Избранное» в Safari Safari.
  • Как создать JQuery Slider-подобную функцию на веб-приложении iPhone / Android?
  • Как написать приложение iPhone полностью в JavaScript, не делая его просто веб-приложение?
  • Давайте будем гением компьютера.