Подтвердить что ты не робот

IOS: UISplitViewController не может быть нажат на UINavigationController

У меня есть проект iPad XCode с помощью навигационного контроллера. Я попытался получить кнопку, чтобы направить UISplitViewController в стек навигации, но получил эту ошибку:

Сплит-контроллеры не могут быть перенесены на контроллер навигации

Выключает UISplitViewController не очень хорошо работает с UINavigationController. Тем не менее, при нажатии этой кнопки мне еще нужно показать контроллер с разделенным изображением. Как мне это сделать? И также важно, как я могу сделать кнопку "Назад", чтобы пользователь мог вернуться к контроллеру навигации?

4b9b3361

Ответ 1

Чтобы отобразить SplitViewController, вам необходимо использовать setRootViewController. Это связано с тем, что SplitViewController должен быть контроллером корневого представления.

Из документации Apple:

Контроллер разделенного представления всегда должен быть корнем любого интерфейса, который вы Создайте. Другими словами, вы всегда должны устанавливать представление из Объект UISplitViewController в качестве корневого представления вашего приложения окно. Затем панели вашего интерфейса с разделенным изображением могут содержать контроллеры навигации, контроллеры панели вкладок или любой другой вид контроллер вам нужно реализовать свой интерфейс.

Чтобы вернуться, вам нужно будет использовать setRootViewController, чтобы вернуться на предыдущую страницу. Я столкнулся с этой проблемой, когда я преобразовал приложение для iPhone в универсальное, и в итоге использовал навигационный контроллер для iPhone и setRootViewController для версии iPad. Это немного облом, потому что вы не можете анимировать его красиво без каких-либо фальсификаций.