Ниже приведены два макета, которые я хочу иметь в своем приложении.Было бы хорошо, если бы приложение переключалось с портретного на ландшафтное, чтобы оно содержало UILabels, BOOL и другие объекты.Поскольку кнопки расположены по-разному, я не могу просто иметь автоповорот размера при автоповороте в книжной ориентации.Я также хочу реализовать свою собственную блокировку вращения, используя BOOL и кнопку в правом верхнем углу.
Я думал об использовании - (void) ОриентированиеChanged: (NSNotification) уведомление с presentModalViewController однако они не копируют объекты и, кажется, причиняют больше вреда, чем пользы, и, похоже, не работают должным образом .
Спасибо за помощь!
Попытки решения:
Я добавил альбомный вид в ViewController, имея оба вида в контроллере вида.Я связал его с владельцем файла в UIView * landscapeView, который я добавил в раздел @interface ViewController.Я добавил [self.view addSubview: landscapeView] в метод viewDidLoad.Затем я добавил этот фрагмент кода:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (orientationLock)
return NO;
else {
if (interfaceOrientation == UIInterfaceOrientationPortrait) {
[landscapeView setHidden:YES];
//[self.view setHidden:NO]; removed
} else {
//[self.view setHidden:YES]; removed
[landscapeView setHidden:NO];
}
return YES;
}
}
Однако это не правильное решение.Когда я запускаю симулятор и поворачиваю его, экран неправильно помещается.