Привет, я пытаюсь обеспечить ориентацию экрана в своем приложении, и я прочитал много документов в Интернете, но когда я пытаюсь это сделать, это просто полная катастрофа (я пробовал эмулятор и iphone). С одной стороны, когда экран повернут в альбомную ориентацию, половина видов больше не видна. Их позиция находится слева, а правая сторона пуста, плюс, если я открою следующий контроллер представления, а затем снова поверну, я смогу видеть сквозь части второго представления первого представления, это просто ужасно, я не знаю, как это исправить (Исключая блокировку возможности зафиксировать ориентацию в книжной ориентации). Я знаю, что в Android вы можете предоставить разные макеты xml для портретной и альбомной ориентации. Есть ли способ сделать это в iphone? Если да, то как?
каждое из моих представлений состоит из контроллера и .xib. Существует «основной» контроллер, а другие контроллеры называются так:
ayuda=[[AyudaView alloc]
initWithNibName:@"AyudaView"
bundle:nil];
[self.view addSubview:ayuda.view];
также я уже добавил эти методы в основной контроллер:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if(UIDeviceOrientationIsValidInterfaceOrientation(orientation)) {
[self handleInterfaceRotationForOrientation:orientation];
}
}
#pragma mark -
#pragma mark Screen Orientation Handling
- (void)handleInterfaceRotationForOrientation:(UIInterfaceOrientation)interfaceOrientation {
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[self handleInterfaceRotationForOrientation:interfaceOrientation];
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self handleInterfaceRotationForOrientation:toInterfaceOrientation];
}
как указано здесь, и попытались поиграйтесь с параметром autosizing, но становится только хуже
Большое Вам спасибо
РЕДАКТИРОВАТЬ: хорошо, я читал еще немного:
http://www.geckogeek.fr/iphone-forcer-le-mode-landscape-ou-portrait-en-cours-dexecution.html
и в основном я обнаружил, что вам нужно создать 2 контроллера, но это решение проблематично для меня из-за файлов пера. Я имею в виду, что мне также пришлось бы создать 2 пера, чтобы удвоить количество кода (или использовать библиотеку выше). Что, если у меня есть значения в моих текстовых полях, мне просто нужно их отправить?