Я использую движок cocos2d в альбомной ориентации без автоповорота.
Я хочу отобразить стандартное модальное представление достижений ГХ.Он отображается нормально, снизу экрана (удерживая устройство в альбомной ориентации), но отклоняется в правую часть экрана (как портретные модальные виды).Кажется, что это меняет ориентацию для анимации отклонения, но вид не вращается до этого.Он просто сдвигается вправо.
Также в консоли появляется предупреждение:
Unbalanced calls to begin/end appearance transitions for <UIViewController: 0x41b9a0>.
Вот как я показываю этот контроллер:
-(void)showAchievements:(id) sender {
utilityController = [[UIViewController alloc] initWithNibName:nil bundle:nil];
[[[CCDirector sharedDirector] openGLView] addSubview:utilityController.view];
GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
if (achievements != nil)
{
achievements.achievementDelegate = self;
[utilityController presentModalViewController: achievements animated: YES];
}
[achievements release];
}
- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController
{
[utilityController dismissModalViewControllerAnimated:YES];
[utilityController release];
}
В gameConfig.hУ меня следующая конфигурация:
#define GAME_AUTOROTATION kGameAutorotationNone
Пытался изменить это на kGameAutorotationCCDirector
- то же самое.kGameAutorotationUIViewController
- uiviews прыгают по всему экрану.
Пожалуйста, не предлагайте вращать UIView с CGAffineTransformMakeRotation
- это просто взлом ...