Установите конкретную ориентацию только для первого запуска в AppDelegate.m iOS - PullRequest
0 голосов
/ 30 сентября 2019

Я использую эту библиотеку для своего собственного собственного реактивного проекта:

реакции-родной-ориентации-шкафчика

Чего я пытаюсь добиться, так это заблокироватьориентация на портрет на всех экранах, кроме одного. И эта библиотека работает нормально, за исключением ситуации, когда пользователь закрывает приложение в ландшафтном режиме, а затем пытается открыть его, пока он находится в ландшафтном режиме. В течение очень короткого момента приложение открывается в альбомной ориентации, а затем поворачивается в портретную ориентацию. Но я не хочу этого видеть, и вместо этого я хочу при запуске приложения открывать приложение в портретном режиме.

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {

   /*if (the app has just been launched) {
        return UIInterfaceOrientationMaskPortrait;
   }*/

   // else, use the library to manage and set orientation
   return [Orientation getOrientation];
}

Я не знаю, как проверить первый запуск и что вставитьприведенное выше утверждение if

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Вы можете просто проверить некоторую запись в UserDefaults, если она не содержит предоставленный вами объект, то он сначала запускается. После этого вы можете просто поместить этот объект в UserDefaults

например

if([[NSUserDefaults standardUserDefaults] boolForKey:@"SOME_YOUR_KEY"] == nil) {
    // First faunch Code
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"SOME_YOUR_KEY"];
    [[NSUserDefaults standardUserDefaults] synchronize];
} else {
    // Not first launch
}
0 голосов
/ 30 сентября 2019

native-ориентации - это очень хорошая библиотека для определения и установки ориентации вашего устройства. Как вы можете видеть документ, есть свойство, чтобы разблокировать все ориентации. то есть;Ориентацияориентация на портрет в компоненте смонтировала основной файл, как app.js.

componentDidMount () {

    Orientation.lockToPortrait(); // <----- This will reset stuff before the first unlock
}

componentWillUnmount() {
    Orientation.unlockAllOrientations();
    Orientation.lockToPortrait();
}

надеюсь, это поможет вам ....

...