Когда приложение загружается, оно не знает его текущей ориентации -
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationPortrait) {
NSLog(@"portrait");// only works after a rotation, not on loading app
}
После поворота устройства вы получаете правильную ориентацию, но когда приложение загружено, без изменения ориентации, кажется,что использование [[UIDevice currentDevice] orientation]
не знает текущей ориентации.
Так что вам нужно сделать 2 вещи -
- Попробуйте установить принятые приложением ориентации устройства в файле plist
- В ваших UIViewControllers вам потребуется переопределить метод
shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
, чтобы он возвращал YES, когда приложение должно rotate: