Отображение нового пользовательского интерфейса при повороте

#iphone

#iPhone

Вопрос:

Я следовал примеру в начале книги iPhone 4 для создания нового представления при повороте представления. У меня есть два представления для этого ViewController. In

 - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
  

Я добавляю PortraitView (обычно наше приложение запускается в альбомной ориентации) в качестве подвида

 [self.view addSubview:PortraitView];
  

и в основном скрывают все элементы, предназначенные для альбомной ориентации, и отображают все элементы для портретной ориентации. (Похоже, мне нужно это сделать, поскольку мой фон имеет четкий цвет, а элементы из альбомной ориентации отображаются.

Итак, теперь я хочу выбрать элемент в портретном режиме (это UITableView) и перейти к другому подробному просмотру в портретном режиме. Если пользователь поворачивается обратно в альбомную ориентацию, я бы хотел вернуться туда, где они были в исходном ландшафтном положении. Когда я показываю это новое представление, когда элемент выбирается из UITableView, должен ли я нажать новый ViewController и показать его представление, или я должен сделать другое отображение / скрытие addSubview? Кажется, я должен нажать новый ViewController, но затем, когда этот ViewController поворачивается обратно в альбомную ориентацию, как он узнает, что нужно вернуться к исходному ландшафтному виду, поскольку это другой ViewController. Я пытаюсь найти наилучший способ его разработки сейчас, для наименьшего количества развязок позже. Спасибо.

Ответ №1:

Вы можете рассмотреть presentModalViewController:animated: для портретного режима.

Посмотрите пример кода для альтернативных просмотров на

http://developer.apple.com/library/ios/#samplecode/AlternateViews/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008755

Он представляет контроллер модального представления для ландшафтного режима.

Комментарии:

1. Это идеально… учебник делает именно то, что я хочу сделать … спасибо … теперь мне просто нужно интегрировать функциональность моего приложения, подобную этой 🙂