В стандартном бета-шаблоне cocos2d 1.0 AppDelegate.m содержит некоторый код:
// AppDelegate.m
// IMPORTANT:
// By default, this template only supports Landscape orientations.
// Edit the RootViewController.m file to edit the supported orientations.
#if GAME_AUTOROTATION == kGameAutorotationUIViewController
[director setDeviceOrientation: kCCDeviceOrientationPortrait];
#else
[director setDeviceOrientation: kCCDeviceOrientationLandscapeLeft];
#endif
Далее, в GameConfig.h мы определили:
// GameConfig.h
#define kGameAutorotationNone 0
#define kGameAutorotationCCDirector 1
#define kGameAutorotationUIViewController 2
//
// Define here the type of autorotation that you want for your game
#define GAME_AUTOROTATION kGameAutorotationUIViewController
Вместе это работало над созданием ландшафтной настройки, которая автоматически поворачивалась либо в альбомную лево, либо в альбомную вправо в зависимости от того, как вы держите устройство. TableViews также автоматически поворачиваются (у меня есть несколько таблиц, размещенных поверх некоторых cocos2d CSCcenes).
Однако... вчера вечером я обновился до iOS6. Как и XCode 4.5.
Я надеюсь, что это не только я, но ротация моего приложения теперь полностью нарушена. Я пытаюсь исправить это с помощью кода по крайней мере для одного представления таблицы... изменение GAME_AUTOROTATION, похоже, не влияет на представления таблиц, а только на cocos2d CCScenes (что в некотором роде является половиной решения).
Я могу просто начать с нуля и создать что-то вместо того, чтобы работать с заранее написанным кодом, это просто мега-разочаровывает!! Большое спасибо, Apple!