0

Я разрабатываю приложение, используя UISplitview.UIsplitview не отвечает на поворот

Когда я поворачиваю форму устройства Landscap to Portrait Я устанавливаю фрейм, но не установлен. В портретном режиме есть только подробный просмотр. Режим мастера ландшафта и подробный вид есть.

Итак, как я могу определить поворот в портретном режиме?

это любой вид метода есть? (Например, в контроллер имеет вид willAnimationRotationtoInterfaceorientation)

ответ

0

Создайте новый проект в Xcode с помощью мастер-Detail Применение шаблона для IPad. Этот шаблон проекта создает UISplitViewController, который реагирует на ориентацию интерфейса. Таким образом, он показывает вам полностью и точно, как делать то, что вы просите.

1

Из того, что я понимаю, вы хотите видеть мастера на видном портрете.

Дизайн UISplitViewController специально скрывает главный вид в портретном режиме.

Здесь есть два способа решить эту проблему. Прежде всего, вы объявляете свой контроллер ViewController как UISplitViewControllerDelegate. (который рассматривает контроллер как делегат, тот, который остается в стеке, - для того, чтобы выяснить, является ли это мастером или деталью).

Затем у вас есть несколько методов делегатов, чтобы взглянуть на них.

Если вы хотите прямо просто показать мастер в портретном режиме в следующий метод делегата:

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation 

вы возвращаетесь NO (ака вы не хотите, чтобы скрыть контроллер представления)

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

Сказать, что более элегантным решением, вероятно, было бы скрыть главный вид, а затем положить кнопку в верхней части панели навигации, после нажатия на которой вам будет показан мастер в режиме portait. И, щелкнув внешний вид мастера, мастер будет скрыт.

Чтобы сделать это, вы не используете вышеупомянутый метод BOOL, но реализовать эти две другие методы делегата вместо:

– splitViewController:willHideViewController:withBarButtonItem:forPopoverController: 
– splitViewController:willShowViewController:invalidatingBarButtonItem: 

Поиск документации по UISplitViewControllerDelegate.

Смежные вопросы