предупреждение: неявное преобразование из типа перечисления «UIInterfaceOrientation» в другой тип перечисления «UIDeviceOrientation»? - PullRequest
1 голос
/ 19 октября 2011

В этой строке: [self deviceInterfaceOrientationChanged:interfaceOrientation];

Я получаю это предупреждение

Implicit conversion from enumeration type ' UIInterfaceOrientation' to different enumeration type 'UIDeviceOrientation'?

Можете ли вы мне помочь? Пожалуйста.спасибо

Вот код:

     -(void) receivedRotate: (NSNotification*) notification
{
    NSLog(@"receivedRotate");
    UIDeviceOrientation interfaceOrientation = [[UIDevice currentDevice] orientation];

    if(interfaceOrientation != UIDeviceOrientationUnknown) {
        [self deviceInterfaceOrientationChanged:interfaceOrientation];


    } else {
        NSLog(@"Unknown device orientation");
    }
}

1 Ответ

0 голосов
/ 18 ноября 2014

UIDeviceOrientation и UIInterfaceOrientation - это разные типы, первый - это ориентация устройства и включает в себя другие состояния, такие как «Лицо вверх» или «Лицо вниз», в то время как второй охватывает только состояния 2D, такие как «Портрет» и «Пейзаж».

Не получать ориентацию устройства с устройства, а из строки состояния, например:

[[UIApplication sharedApplication] statusBarOrientation] 

Этот метод вернет значение UIInterfaceOrientation, и проблема исчезнет.

...