В iOS 5.1.1 я обнаружил, что если я создаю свой UIWindow (мне надоел IB) и устанавливаю для его рамки значение [UIScreen mainScreen].bounds, окно отображается под строкой состояния. Однако, если я сделаю то же самое в iOS 6, оно появится в нужном месте чуть ниже строки состояния.
CGRect r = [[UIScreen mainScreen] bounds];
self.window = [[UIWindow alloc] initWithFrame: r];
self.detailViewController = [[DetailViewController alloc] init];
self.window.rootViewController = self.detailViewController;
[self.window addSubview: detailViewController.view];
[self.window makeKeyAndVisible];
Однако если я вставлю r.origin.y += 20, чтобы переместить окно ниже строки состояния в iOS 5.1.1, это не решит проблему, и все станет еще более странным.
Как правильно разместить UIWindow в iOS при его программном создании? Спасибо.