установить ориентацию интерфейса на частном API iPhone - PullRequest
1 голос
/ 05 марта 2010

Может ли кто-нибудь подтвердить, что [[UIDevice currentDevice] setOrientation:UIDeviceOrientationPortrait]; отклонит ваше приложение от Apple.

Есть ли хорошая замена?

Ответы [ 4 ]

4 голосов
/ 05 марта 2010

[[UIDevice currentDevice] setOrientation: UIInterfaceOrientation] является частным API, вы можете обнаружить, что подпись доступна только для чтения (см. здесь ).

Если вы хотите установить ориентацию устройства в портретный или другой режим, вы должны переопределить shouldAutorotateToInterfaceOrientation:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIDeviceOrientationPortrait);
}
1 голос
/ 05 марта 2010

Да, вам будет отказано .

Вы можете изменить кадр и применить преобразование к ключевому окну, а также изменить ориентацию строки состояния (которая является общедоступной) для имитации измененияориентация.

0 голосов
/ 20 февраля 2012

Вы можете попробовать этот код. Он отлично работает на моих приложениях

UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
    AppDelegate* app = [[UIApplication sharedApplication] delegate];
    UIViewController *c = [[UIViewController alloc]init];
    [app.viewController presentModalViewController:c animated:NO];
    [app.viewController dismissModalViewControllerAnimated:NO];
    [c release];
}

где app.viewController - это rootViewController приложения

0 голосов
/ 05 марта 2010

Вы можете добавить UIInterfaceOrientation в свой список приложений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...