Панель навигации скрыта на Segue / Pu sh (Swift) - PullRequest
1 голос
/ 26 апреля 2020

Я использовал следующий код для перенаправления с дочернего на родительский (за исключением того, что мне приходилось загружать разные данные на родительский - подумайте об этом как о приложении чата с кнопкой, чтобы увидеть ваш профиль, и вы можете нажать на какой-нибудь другой Ваш друг, чтобы перенаправить в другой чат, т.е. другой набор данных). Сначала я использовал


let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(identifier: "parent") as! UIViewController
       self.navigationController?.pushViewController(popOverVC, animated: true)


Но это позволило мне go вернуться к предыдущему чату, проведя пальцем влево (я попытался отключить его, скрыв кнопку назад, используя

navigationController?.interactivePopGestureRecognizer?.isEnabled = false

, и это не помогло. Также нельзя отключить функцию прокрутки назад (я использовал ее в ViewDidLoad, ViewWillAppear, ViewWillLayoutSubViews и все равно она не работала; я все еще мог провести пальцем назад к предыдущему чату). Поэтому я попытался использовать следующее, и пока оно работало, моя панель навигации исчезнет.

navigationController?.setNavigationBarHidden(false, animated: true)

сработал, когда я использовал pushViewController (но он все равно позволил бы провести пальцем назад), и он не сработал, когда я использовал root V C (но он отключил проведите назад)

Вот метод rootV C, о котором я говорю:

let window = UIApplication.shared.windows[0] as UIWindow
    popOverVC.navigationController?.setNavigationBarHidden(false, animated: true)
  window.rootViewController = popOverVC





1 Ответ

1 голос
/ 26 апреля 2020

Как большинство iOS пользователей go назад, проведя и меньше, нажав кнопку назад. Ибо было бы более разумно использовать модальный переход вместо перехода pu sh, который не так уж велик. Вы можете просто отключить кнопку назад.

self.navigationController?.navigationItem.backBarButtonItem?.isEnabled = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...