Код для программной ориентации ландшафта?

В FirstViewController есть кнопка. После того, как она нажата, появляется модальный переход, который переходит к SecondViewController. FirstViewController - это Portrait, а SecondViewController - это Landscape. В файле раскадровки я установил для SecondVC значение Landscape, но симулятор iOS не будет автоматически изменять его ориентацию.
Может кто-нибудь помочь мне найти код, который автоматически превращает SecondViewController из Portait в альбомную?

viewDidLoad заявление в SecondVC:

-(void)viewDidAppear:(BOOL)animated  {
    UIDeviceOrientationIsLandscape(YES);
    sleep(2);
    santaImageTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
                                                       target:self
                                                     selector:@selector(santaChangeImage)
                                                     userInfo:NULL
                                                      repeats:YES];
    [santaImageTimer fire];
    image1 = YES;
}

Любая помощь приветствуется.

1 ответ

Решение

К сожалению, пока ваша попытка позвонить UIDeviceOrientationIsLandscape(YES); была отважная попытка, которая фактически не меняет ориентацию. Этот метод используется для подтверждения того, является ли переменная, содержащая ориентацию, альбомной или нет.

Например, UIInterfaceOrientationIsLandscape(toInterfaceOrientation) вернет TRUE, если toInterfaceOrientation содержит альбомную ориентацию и FALSE, если нет.

Правильный способ изменения ориентации изложен в разделе Обработка поворотов вида в Справочнике по классам UIViewController. В частности, в iOS 6 вы должны:

- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

В iOS 5 необходимый метод:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
        return YES;
    else
        return NO;
}
Другие вопросы по тегам