xcode - Как сохранить вид заблокированным в портретном режиме, но при этом разрешить поворот одного вида?
У меня проблема с вращением устройства. За исключением ОДНОГО представления, где я показываю заставку компании, я хочу заблокировать все оставшиеся представления приложения в книжной ориентации. В настройках проекта поддерживаются ориентации Portrait и LandscapeLeft. В 'Company Splash' он работает нормально, и вращение вида заблокировано в LandscapeLeft независимо от того, как я поворачиваю устройство. На всех других видах, когда я поворачиваю устройство влево, вид меняется, а не остается в портретном режиме. Методы даже не стреляют? Если я удаляю альбомную ориентацию влево из поддерживаемых ориентаций в проекте, это приводит к появлению вида «Всплеск компании». Я пытался изменитьshouldAutorotate
Вернуться кNO
, но это не помогло. Пытался проработать мой путь через размещенные предложенияВот, но это не помогло. Если я добавлю следующий код в мой AppDelegate.m, все будет заблокировано в портретном режиме, и при обращении к нему произойдет сбой «Company Splash».
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
Как заблокировать вид в портретном режиме независимо от того, как устройство поворачивается, кроме одного экрана?
** метод из представления «Всплеск компании». Опять же, работает как положено.
-(NSInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeLeft;
}
** методы из всех других видов, которые вращаются вне портрета, когда я не хочу, чтобы они
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// IOS5 Only returning that it should rotate to potrait
return (interfaceOrientation == UIDeviceOrientationPortrait);
}
-(BOOL)shouldAutorotate
{
// forcing the rotate IOS6 Only
return YES;
}
-(NSInteger)supportedInterfaceOrientations
{
// return number or enum IOS6 Only
return UIInterfaceOrientationMaskPortrait;
}
Я подумал, может быть, это может быть потому, что UITabBarController является корневым контроллером, и я нахожусь в ViewController от этого? Методы даже не стреляют?