Добавить кнопку «Назад» на панель навигации после перехода из SKScene.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Добавить кнопку «Назад» на панель навигации после перехода из SKScene.

Сообщение Anonymous »


У меня есть GameViewController, который переходит в NavigationController, а затем в SettingsViewController. Все работает так, как ожидалось.

Я хочу добавить кнопку < Готово или < Назад в левой части панели навигации, чтобы вернуться к GameViewController однажды закончив. Как это сделать программно?

Пользовательский интерфейс полностью создан программно, поскольку большая его часть основана на SpriteKit. В Interface Builder по сути нет ничего, кроме пустых контроллеров.

В GameViewController установите значение, чтобы к нему можно было получить доступ позже:

класс GameViewController: UIViewController { переопределить функцию viewDidLoad() { супер.viewDidLoad() ... Scene.viewController = сам ... } } Затем в GameScene GameViewController извлеките и выполните переход:

класс GameScene: SKScene { слабый вар viewController: UIViewController? ... // Выполняем переход при касании SKSpriteNode `viewController?.performSegue(withIdentifier: "GoToSettingsSegue", отправитель: viewController)` } Наконец, в SettingsViewController программно создайте пользовательский интерфейс и добавьте заголовок:

класс SettingsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { переопределить функцию viewDidLoad() { супер.viewDidLoad() настроить() заголовок = "Настройки" ... } } Основываясь на некоторых исследованиях, я знаю, что элемент навигации «Назад/Готово» принадлежит предыдущему UIViewController, а не текущему. Итак, в моем случае его нужно было добавить в GameViewController, а не в SettingsViewController, верно?

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

Как мне добавить это программно в GameViewController и/или GameScene и настроить действие/цель так, чтобы оно в основном переходило обратно от SettingsViewController к < code>GameViewController? Я новичок в разработке для iOS, поэтому не совсем уверен.

Изменить:

В SettingsViewController я могу добавить всего одну строку и получить кнопку Готово, которая сейчас ничего не делает. Но я бы предпочел использовать встроенную функциональность < Back NavigationController, которую я просто не могу понять, как добавить.
класс SettingsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { переопределить функцию viewDidLoad() { супер.viewDidLoad() настроить() заголовок = "Настройки" self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneWithSettings)) ... } } @objc func DoneWithSettings() { // Сделай что-нибудь }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Skscene в Skscene
    Anonymous » » в форуме IOS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Задержка между SKAction и SKAudioNode, когда SKScene приостанавливается и возобновляется.
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Skscene? нет участника по имени «Генератор»
    Anonymous » » в форуме IOS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Какой размер должен быть skscene?
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Передайте дополнения навигации для ввода аргументов перехода в навигации по созданию Android.
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»