Контроллер навигации не работает в нескольких раскадровках - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть страница входа в начало моего приложения. когда пользователь получит разрешение, я перенаправлю его на другую раскадровку.

На этом фото ниже: проверка белого экрана предоставляется пользователем или нет. если да, я перенаправлю на Photo2. иначе я перенаправлю их на страницу входа (красные страницы на фото1).

enter image description here

Ниже Фото2: (Я покажу табличное представление, содержащее некоторые данные. Когда пользователь щелкает одну из них, он переходит на следующую страницу (справа).)

enter image description here

А Фото3 просто для уточнения Фото2.

enter image description here

Проблема в Photo2 после того, как пользователь щелкнул строку в представлении таблицы. кнопка назад не работает (это видно в приложении)

Код ниже показывает код белого экрана на Фото1:

 if let token = UserDefaults.standard.string(forKey: ConstantsKey.token){
            if !token.isEmpty{
                let storyboard : UIStoryboard = UIStoryboard(name: "MainTabBar", bundle: nil)
                let vc = storyboard.instantiateViewController(withIdentifier: "MainTabBarVC")
                let rootController = UINavigationController(rootViewController: vc)
                rootController.navigationBar.barTintColor = UIColor.init(red: 229/255, green: 28/255, blue: 60/255, alpha: 1)
                self.present(rootController, animated: true, completion: nil)
            }else{
//              let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

                let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
                let vc = storyboard.instantiateViewController(withIdentifier: "LoginVc")

                self.present(vc, animated: true, completion: nil)
            }
        }else{
            let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
            let vc = storyboard.instantiateViewController(withIdentifier: "LoginVc")
            self.present(vc, animated: true, completion: nil)


        }

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

let storyboard : UIStoryboard = UIStoryboard(name: "MainTabBar", bundle: nil)
                        let vc = storyboard.instantiateViewController(withIdentifier: "MainTabBarVC")
                        let rootController = UINavigationController(rootViewController: vc)
                        self.present(rootController, animated: true, completion: nil)

Приведенный ниже код показывает, как я перенаправляю пользователя на страницу, на которой возникла проблема на фотографии 2:

let next = self.storyboard?.instantiateViewController(withIdentifier:  "ShopVc") as! ShopViewController
    self.navigationController?.pushViewController(next, animated: true)

Я также добавил следующий код к Делегату:

UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .any, barMetrics: .default)
    UINavigationBar.appearance().shadowImage = UIImage()

Я что-то не так делаю, что может вызвать эту проблему?

/////////////////////////////////////////////// ///////////////// ANSEWER Я создал новый проект, который прекрасно работает там! Я думаю, что это была проблема xCode!

1 Ответ

0 голосов
/ 17 сентября 2018

перезапустите ваш проект, это может быть проблемой Xcode

...