Iphone development viewcontroller портрет в пейзаж без автоповорота - PullRequest
0 голосов
/ 27 июня 2011

У меня есть viewcontroller, который выдвигает другой vc, который должен быть в ландшафтном режиме, но он не автоматически поворачивается в ландшафтный режим при нажатии, т.е. все еще в портрете.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        return YES;
    }

    return NO;
}

Когда переключение видеомагнитофона и возврат к первому контроллеру все в порядке, оно отображается только в портретном режиме.

Я могу заставить второй виртуальный канал вращаться, вращая телефон / эмулятор, а затем придерживаясь режима автоматического поворота. Затем также идеально подходит, когда появляется, возвращается в портретный режим.

Так есть ли способ, возможно, программно повернуть интерфейс в ландшафт. Пытался использовать

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];

Но без особого успеха. Строка состояния при застревании застряла в пейзаже.

1 Ответ

1 голос
/ 27 июня 2011

Используйте это в вашем viewDidLoad методе, он должен работать

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
CGAffineTransform rotate = CGAffineTransformMakeRotation(M_PI_2);
[self.view setTransform:rotate];

CGRect contentRect = CGRectMake(0, 0, 480, 320); 
self.view.frame = contentRect; 
[self.view setCenter:CGPointMake(160.0f, 240.0f)];
...