Как вернуться из контроллеров бокового меню в контроллеры панели вкладок? - PullRequest
0 голосов
/ 30 апреля 2018

Здесь я использую swrevealViewController для отображения бокового меню, и здесь у меня есть панель вкладок для пяти контроллеров представления, и в этом каждый контроллер представления должен иметь кнопку панели, которая будет иметь действие для бокового меню, и здесь, если я выберу любая из кнопок панели в панели вкладок, которая открывает боковое меню и будет иметь доступ к другим контроллерам вида в боковом меню после перехода к любому контроллеру вида, затем, когда я нажимаю кнопку «Назад», действие работало нормально, и когда я перехожу к другому виду другого контроллер в панели вкладок после возврата из контроллера представления, тогда он также работает нормально всякий раз, когда я перехожу к предыдущему контроллеру панели вкладок и щелкаю контроллеры представления бокового меню, тогда контроллер представления перемещался в предыдущем контроллере навигации и в навигации frontNVC последний Доступ к новому контроллеру представления был сохранен в стеке навигации. Кто-нибудь может мне помочь, как решить эту проблему?

вот код, который используется для перемещения бокового меню

        if cell.titleCellLabel.text! == "Account"
        {
            var controller: UIViewController? = nil
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            controller = storyboard.instantiateViewController(withIdentifier: controllers[indexPath.row])
            print(frontNVC?.viewControllers)
            if controller != nil
            {
                // Prevent stacking the same controller multiple times
                print(frontNVC)
                _ = frontNVC?.popViewController(animated: false)
                frontNVC?.viewControllers.removeAll()
                // Prevent pushing twice FrontTableViewController
                if !(controller is SWRevealViewController) {
                    // Show the controller with the front view controller's navigation controller
                    print(frontNVC)
                    frontNVC!.pushViewController(controller!, animated: false)
                }
                // Set front view controller's position to left
                revealViewController().setFrontViewPosition(.left, animated: true)
            }
        }

вот код, используемый для действия кнопки возврата, используемый в контроллерах вида бокового меню

  @IBAction func backButtonAction(_ sender: Any) {
        let nc = revealViewController().rearViewController as? UINavigationController
        let frontNVC = (nc?.topViewController as? LeftSideViewController)?.frontNVC
        _ = frontNVC?.popViewController(animated: true)
    }

Вот мое изображение макета доски объявлений, показанное ниже enter image description here

...