Добавление двух слушателей для UIResponder - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть два контроллера представления, добавленные как подвид в окне UIWindow. Теперь проблема в том, что один из видов получает вызовы поворота вида, а второй не получает вызовы для изменения ориентации вида. Теперь моя проблема в том, как мы можем получить вызов изменения ориентации для двух разных контроллеров представления, добавленных в UIWindow.

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

UIWindow отправляет сообщения о повороте только на rootViewController. Если вы хотите, чтобы другой контроллер представления получил их, у вас есть две опции:

  1. Введите код, чтобы rootViewController отправлял сообщения о вращении другому контроллеру представления.
  2. Реализация сдерживания контроллера вида. Посмотрите Реализацию содержания UIViewController видео с WWDC 2011 , чтобы узнать, как это сделать.
0 голосов
/ 17 февраля 2012

Зарегистрируйте ориентацию устройства.

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

отметьте метод,

 if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) || 
        ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {


}
...