У меня есть приложение представления разделения, хорошо работающее на iPad. Это использует установку по умолчанию (Легкая сдоба в Портрете, табличное представление слева в среде). Представления смещаются правильно, после того как приложение работает. Проблема, которую я вижу, состоит в том, что, когда приложение запускается (в средстве моделирования) работающий в альбомном режиме, парадигма UI является той, предназначенной для Режима портрета (Основной Список является легкой сдобой), что загрузки.
Я думаю, что это - некоторая странность со средством моделирования, или я пропускаю опцию на своем основном контроллере представления.
Добавляем это как ответ в надежде, что это станет более очевидным для тех, кто нуждается в таком же исправлении.
Я решил это. Я ждал загрузки и анализа внешнего потока XML. В результате я загружал окно с представлением splitViewController ПОСЛЕ моего метода applicationDidFinishLaunching
.
Добавление:
[window addSubview: splitViewController.view];
[window makeKeyAndVisible];
обратно в этот метод исправлено распознавание ориентации
Я столкнулся с той же проблемой, что описана здесь. Решение было, к сожалению, очень простым: вручную установить рамку представления перед добавлением его в окно.
Просто проверьте ориентацию интерфейса и, если он альбомный, измените ширину и высоту рамки приложения (т.е. ширина становится высотой, а высота становится шириной).
CGRect frame = [[UIScreen mainScreen] applicationFrame];
switch(controller.interfaceOrientation){
case UIInterfaceOrientationPortrait:
case UIInterfaceOrientationPortraitUpsideDown:
[controller.view setFrame:frame];
break;
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
[controller.view setFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.height, frame.size.width)];
break;
}
Мне удалось отобразить представление загрузки, выполнив
[window addSubview:self._splitViewController.view];
[window addSubview:self._myLoadingView];
self._splitViewController.view.hidden = YES;
[window makeKeyAndVisible];
[self loadAllDatas];
self._splitViewController.view.hidden = NO;
i работает нормально