Не работает Ориентация уведомлений в VIewController под модальным, с iOS5 - PullRequest
2 голосов
/ 21 октября 2011

Извините за мой английский ..:)

В моем viewController (A) есть уведомитель об ориентации, подобный этому:

 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{ UIDeviceOrientation newOrientation = [[UIDevice currentDevice] orientation];

if (newOrientation == UIDeviceOrientationUnknown || newOrientation == UIDeviceOrientationFaceUp || newOrientation == UIDeviceOrientationFaceDown) {
    UIInterfaceOrientation mainOrientation = [[UIApplication sharedApplication] statusBarOrientation];
    newOrientation = (UIDeviceOrientation) mainOrientation;
}

Это работает правильно, когда это контроллер.

Существует ModalViewController (B), который иногда появляется, и его можно переориентировать на новую ориентацию, и сделать это идеально.НО, когда этот модал отклонен, контроллер основного вида остается в той же ориентации, что и раньше.

Управление с помощью точек останова Я проверил, что код в методе выше не выполняется.

Все это прекрасно работало до того, как я реализовал IOS5 SDK.

(я не реорганизован в ARC из-за проблем с CGPLOT).Кто-нибудь может мне помочь, или у него такая же проблема?

Очевидное решение - вызвать этот метод из модального окна ... но это раздражает ..: (

Спасибо вамочень много и хорошего дня!

1 Ответ

2 голосов
/ 21 октября 2011

Отправить уведомление с помощью

[[NSNotificationCenter defaultCenter] postNotificationName:@"changeOrientation" object:nil];

с точки зрения, где didRotate ... работал и в другом классе использовать:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doWork) name:@"changeOrientation" object:nil];

чтобы поймать это событие.

Лайтбрингер с ЕГ-форума?

...