Не работает авторотация ios6.1

Автоповорот не работает в ios6.1. Но следующий код работает в другом приложении.

код:

@implementation UINavigationController (RotationIn_IOS6)

-(BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return [[self.viewControllers lastObject]  preferredInterfaceOrientationForPresentation];
}

@end


- (BOOL)shouldAutorotate
{
    //returns true if want to allow orientation change
    return TRUE;


}
- (NSUInteger)supportedInterfaceOrientations
{
    //decide number of origination tob supported by Viewcontroller.
    return UIInterfaceOrientationMaskAll;


}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    //from here you Should try to Preferred orientation for ViewController

    return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationPortrait;
}

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)  interfaceOrientation duration:(NSTimeInterval)duration
{

}

person Ram    schedule 08.04.2013    source источник
comment
Проверьте настройки вашего проекта на наличие разрешенных ориентаций - все поддерживаемые должны быть выбраны, проверьте мой ответ здесь stackoverflow.com/questions/15835084/   -  person Stas    schedule 08.04.2013
comment
Да, я выбрал всю ориентацию. Но не работает   -  person Ram    schedule 08.04.2013
comment
Вы реализовали этот метод в контроллерах, которые должны вращаться?   -  person Stas    schedule 08.04.2013
comment
да, я реализовал в viewcontroller   -  person Ram    schedule 08.04.2013
comment
кажется, вы где-то допустили опечатку, еще раз внимательно проверьте свой код.   -  person Stas    schedule 08.04.2013
comment
Вы установили rootViewController вашего окна? Или добавить подвид?   -  person Mani    schedule 08.04.2013
comment
HomeVC *home_obj=[[HomeVC alloc]init]; UINavigationController *nav1=[[UINavigationController alloc]initWithRootViewController:home_obj]; [окно addSubview:nav1.view]; //window.rootViewController=nav1; [self.window makeKeyAndVisible];   -  person Ram    schedule 08.04.2013
comment
Да, я тоже столкнулся с такой же проблемой. Я решил, установив window.rootViewCotroller = nav1 ; Вы можете попробовать это. надеюсь это будет работа..   -  person Mani    schedule 08.04.2013
comment
когда я использую window.rootViewCotroller = nav1. Мой контроллер просмотра - это прозрачный вид. Ничего не показывает вид изнутри   -  person Ram    schedule 08.04.2013


Ответы (3)


ios6 использует в основном опции plist для автоповорота. Попробуйте настроить поддерживаемые поля ориентации.

person user2256714    schedule 08.04.2013

Вы пытались изменить plist?

person BalestraPatrick    schedule 08.04.2013

Пожалуйста, проверьте цели вашего проекта летом, как показано ниже

введите здесь описание изображения

person dhaya    schedule 09.04.2013
comment
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { return YES; } - person dhaya; 10.04.2013
comment
- (BOOL) долженАвтоповорот { return YES; } - person dhaya; 10.04.2013
comment
сначала удалите все методы вращения в кодировании, затем примените эти три метода - person dhaya; 10.04.2013