iPhone - появится отображение ориентации устройства в первом виде контроллера - PullRequest
1 голос
/ 04 октября 2011

В моем приложении только один делегат и просмотр контроллера.Приложение работает в портретном и ландшафтном режимах.В методе view моего контроллера viewWillAppear я получаю ориентацию устройства, используя следующий код:

UIInterfaceOrientationIsPortrait([[UIDevice currentDevice] orientation])

Первый раз, когда я запускаю приложение, даже когда мое устройство находится в портретном режиме, оно выдает результат в видепейзаж.Почему это так.Как я могу решить это?

Ответы [ 3 ]

5 голосов
/ 04 октября 2011

У меня было множество проблем с currentDevice.orientation. Попробуйте это:

UIDeviceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])
0 голосов
/ 04 октября 2011

Из документации на UIDevice :

Значение этого свойства всегда возвращает 0, если только ориентация уведомления были включены по телефону beginGeneratingDeviceOrientationNotifications.

Если вы посмотрите на фактическое значение, возвращаемое функцией «direction», вы увидите, что это «UIDeviceOrientationUnknown».

0 голосов
/ 04 октября 2011
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;


if (UIDeviceOrientationIsLandscape(deviceOrientation)
{
   //LandscapeView
}
else
{
   //PortraitView
}
...