generatesDeviceOrientationNotifications - PullRequest
       2

generatesDeviceOrientationNotifications

1 голос
/ 10 февраля 2011

Я видел это свойство в файле UIDevice.h.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Вы можете попросить UIDevice сгенерировать уведомления об ориентации устройства:

UIDevice *myDevice = [UIDevice currentDevice]; 
[myDevice beginGeneratingDeviceOrientationNotifications]; 

Ваши подклассы UIViewController могут прослушивать это уведомление, выполнив следующие действия:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(didRotate:)
                                             name:UIDeviceOrientationDidChangeNotification
                                           object:nil];

и написав метод didRotate:как это:

- (void)updateOrientation 
{
    UIInterfaceOrientation orientation = self.interfaceOrientation;
// handle new orientation
...
}


- (void)didRotate:(NSNotification *)notification 
{
    [self updateOrientation];
}

Преимущество этого по сравнению со "стандартным"

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration

заключается в том, что иногда, основываясь на структуре и вложенности ваших UIViewControllers, вы можете не всегда получатьвызовы willAnimateRotationToInterfaceOrientation.Вместо этого обработка уведомления гарантирует, что ваши ViewControllers, которые должны обрабатывать изменения, всегда будут знать, когда они произошли.

0 голосов
/ 02 июля 2012

отсутствует *:

UIDevice * myDevice = [UIDevice currentDevice];

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