Ошибка поворота панели навигации iPhone при возврате из фона - PullRequest
1 голос
/ 05 мая 2011

Хорошо, поэтому после нескольких недель головной боли я сдался и решил обратиться к экспертному ресурсу онлайн!

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

У меня все работает так, как должно, ЗА ИСКЛЮЧЕНИЕМ, когда я помещаю приложение в фоновый режим и возвращаюсь,приложение возвращается с перемещенной панелью навигации в положение, в котором она обычно находится в режиме книжной ориентации, но повернутым на 90 ', в то время как все остальные, такие как строка состояния, все основные виды все еще находятся в ландшафтном режиме.

Я пыталсявручную исправьте ориентацию панели навигации, но какао, кажется, игнорирует этот бит кода.Похоже, что self.view.transform не работает, когда приложение возвращается из фонового режима.Любые предложения?

LandscapeViewController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return NO;
}

-(void)viewWillAppear:(BOOL)animated {
    self.view.transform = CGAffineTransformMakeRotation((M_PI * (90) / 180.0));
    self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}  

Это изображение показывает, что вы можете понять, что я имею в виду

image http://i.stack.imgur.com/Qx1Si.png

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Вы не всегда должны возвращать NO из shouldAutorotateToInterfaceOrientation: но возвращать YES для поддерживаемой вами ориентации.IOS обрабатывает остальное.

0 голосов
/ 05 мая 2011

Вы пробовали это?

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
...