Я создаю приложение iOS с учебным пособием по адаптации, которое будет отображаться при первом использовании приложения пользователем. У меня есть учебник, настроенный как UIPageViewController с кнопкой, чтобы закончить учебник. Когда это нажато, я хотел бы переключиться на свой основной навигационный контроллер, который обрабатывает остальную часть приложения. Пока я не нашел хорошего способа сделать это. Какие-либо предложения?
Это сработало, спасибо! Просто пришлось переписать его в объективе c.
Я всегда кодировал эти «первые использованные» контроллеры представления для запуска из основного навигационного контроллера, который назначен в качестве начального контроллера представления. Когда создается основной контроллер, он проверяет наличие флага, чтобы увидеть, является ли он первым, и если да, то переходит к первому используемому контроллеру представления. Обычно это происходит так быстро, что вы никогда не видите главный контроллер первым. В конце первого использования логики нажатие кнопки «Готово» просто возвращает родительский навигационный контроллер, который затем устанавливает флаг первого раза в значение false.
Я могу запустить приложение в правильном представлении в зависимости от того, впервые ли это пользователь, но я по-прежнему не могу добавить PageViewController к основному навигационному контроллеру или перейти от PageViewController к любому представлению в NavigationController. Может я что-то упускаю...
Вы должны запускать приложение в контроллере основного представления ВСЕ время. Этот контроллер представления должен быть определен в вашей раскадровке как контроллер представления Start-Up. Затем вы выделяете свой основной контроллер представления в раскадровке, щелкаете и перетаскиваете на PageViewController, чтобы создать переход от Main к PageView с именем showPageView, затем просто имеете код в ViewDidLoad (или другой подходящий метод), чтобы проверить флаг и выполнить [self PerformSegueWithIdentifier:@"showPageView" отправитель:я];
Ах я вижу. Это помогло! Я использовал неправильное представление, когда пытался ответить на ваш вопрос. Спасибо за продолжение!
Вы можете сослаться на это: stackoverflow.com/questions/56350233/…. Просто замените
UITabBarController
наUIPageViewController
и другие вещи в соответствии с требованиями.