2015-10-13 12 views
1

Я пытаюсь изменить ориентацию устройства. Я нашел этот плагин cordova https://github.com/gbenvenuti/cordova-plugin-screen-orientation, и он работает с приложением cordova, но, к сожалению, не работает с использованием платформы IBM MobileFirst Platform Foundation 7.0 (+ Angular, Ionic).Невозможно заблокировать и разблокировать ориентацию экрана

Я отпер ориентацию устройства в Xcode -> Общие: xcode my project general

Я также пытался сделать небольшой поворот к ориентации экрана Кордове плагина по этим https://forums.developer.apple.com/thread/6165, но он по-прежнему не работает

это интерфейс это посмотреть YoikScreenOrientation.h

@interface ForcedViewController : UIViewController 

@property (strong, nonatomic) NSString *calledWith; 

@end 

и YoikScreenOrientation.m

@implementation ForcedViewController 

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 
    - (NSUInteger)supportedInterfaceOrientations { 
     NSLog(@"lockViewController to ALL Portrait < 9"); 
     return UIInterfaceOrientationMaskPortrait; 

    } 
#else 
    -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ 
     NSLog(@"lockViewController to ALL Portrait > 9"); 
     return UIInterfaceOrientationPortrait; 
    } 
#endif 

@end 

Я могу видеть в журналах, что он проходит через метод supportedInterfaceOrientations, но он не блокирует ориентацию экрана на портрет. Есть ли какая-либо конфигурация, которую я пропустил, чтобы заблокировать или разблокировать ориентацию устройства?

+0

1) Какова конечная цель? Вы пытаетесь выполнить блокировку и разблокировку программно вместо опции «Ориентация устройства» в «Общие параметры»? 2) Что Угловая и Ионная имеют отношение к вопросу? 3) Вы тестируете ли вы на физическом устройстве или в iOS Simulator? –

+0

1) Цель состоит в том, чтобы зафиксировать ориентацию экрана на одной странице, а затем снова разблокировать его, я добавил изображения, в которых общий ключ разблокирован, чтобы указать, что ориентация устройства разблокирована. 2) нет ничего действительно, это только те рамки, которые я использую для создания приложения, 3) да, я тестировал как в симуляторе, так и в реальном устройстве, и это то же поведение. – Jan

ответ

1

Ну, конечно, ориентация экрана плагина Cordova в этом случае не помогает, поэтому я создал свой плагин, используя этот пример http://swiftiostutorials.com/ios-orientations-landscape-orientation-one-view-controller/, и это работает, клавиша для изменения ориентации - это функция, которая вызывается до изменения ориентации , таким образом, я мог бы переопределить ориентацию на альбомную или портретном режиме, appdelegate.m

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
    { 
     if ([LANSCAPE_MODE isEqualToString:orientationMode]){ 
      if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
       return UIInterfaceOrientationMaskPortraitUpsideDown; 
      else 
       return UIInterfaceOrientationMaskPortrait; 

     } 
     else{ 
      return UIInterfaceOrientationMaskAll; 
     } 

    } 

Если я пытаюсь переопределить с помощью метода supportedInterfaceOrientations его зависание, если ориентация не поддерживается, эта связь объясняет крушении https://devforums.apple.com/message/731764#731764

+0

Какие-либо изменения вы можете дать немного больше информации о том, что вы сделали сами? Я борюсь с той же проблемой. –

Смежные вопросы