swift - 从 UITableViewController 导航到详细信息 View Controller 时,ENSideMenu 不会再次快速打开

标签 swift uitableview slidingmenu detailsview navigationcontroller

场景:

我有一个(TableViewController)的MainViewController、TableViewController和DetailsViewController

我正在使用开源库来获取滑动菜单功能,可以在此处找到教程:滑动菜单 ENSideMenuNavigationController

当我将本教程应用到我的项目中时,我可以轻松地获得我想要的滑动菜单,您可以从image

当我单击第二个 View 时,会出现一个带有列表数据的 TableViewController,当我选择一行时,它导航到详细信息 View Controller ,并且当我从详细信息 View Controller 返回到 TableViewController 时,问题开始,滑动菜单不会再次打开。

这是我的 TableViewController didSelectRowAtIndexPath 代码:

      switch (indexPath.section) {

        case 0:


            if (self.myInvoicesUnPaid.isEmpty){

             self.displayAlertMessage("Ödenmemiş faturanız bulunmamaktadır.")

            } else if (!self.myInvoicesUnPaid.isEmpty){

                // Get Cell Label
                let indexPath = tableView.indexPathForSelectedRow;

                //let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell!;

                let storyboard = UIStoryboard(name: "Main", bundle: nil)

                let viewController = storyboard.instantiateViewControllerWithIdentifier("viewControllerIdentifer") as! invoiceDetailsViewController

                viewController.passedValue = self.myUnpaidInvoicesDetails[(indexPath?.row)!]

                viewController.isPaid = false

                self.presentViewController(viewController, animated: true , completion: nil)




            }


        break

        case 1:

            // Get Cell Label
            let indexPath = tableView.indexPathForSelectedRow;

            let storyboard = UIStoryboard(name: "Main", bundle: nil)

            let viewController = storyboard.instantiateViewControllerWithIdentifier("viewControllerIdentifer") as! invoiceDetailsViewController

            viewController.passedValue = self.myPaidInvoicesDetails[(indexPath?.row)!]

            viewController.isPaid = true




            self.presentViewController(viewController, animated: true , completion: nil)



        break

        default: break

  }  

这是我导航回 TableViewController 时的detailsViewController 代码

 func backButtonPressed (sender:UIButton!){


        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyboard.instantiateViewControllerWithIdentifier("InvoicesTableViewController") as! InvoicesTableViewController
        vc.navigationController?.navigationBarHidden = false

        vc.navigationController?.setNavigationBarHidden(false, animated:true)

        performSegueWithIdentifier("backToMyInvoices", sender: self)


    }

我的代码的最后一段代表来自 ENsideMenuNavigationController 的教程代码

class SlideNavigationController: ENSideMenuNavigationController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.

        let storyBoard = UIStoryboard(name: "Main", bundle: nil)

       let menu =  storyBoard.instantiateViewControllerWithIdentifier("LeftSideViewController") as! LeftSideMenuTableView

        sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: ENSideMenuPosition.Left )
        sideMenu?.menuWidth = 220

        view.bringSubviewToFront(navigationBar)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.





    }

请提供任何帮助,我们将不胜感激。我已经好几个星期了

最佳答案

我正在使用这个滑动菜单,并且我可以在整个应用程序中使用它。即使在 ViewController 弹出之后也是如此。

使用 Root View Controller - MainViewController 初始化 ENNavigationViewController(“Example”文件夹中有一个可以使用的示例)。

当您想要呈现下一个 View Controller 时:

self.navigationController?.pushViewController(...)

或使用示例中 ENSlideMenuNavigation Controller 上提供的方法:

setContentViewController(contentViewController: UIViewController)

关于swift - 从 UITableViewController 导航到详细信息 View Controller 时,ENSideMenu 不会再次快速打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964086/

相关文章:

swift - 如何从 Swift 中的时间间隔中减去 30 分钟?

ios - 以编程方式设置 UITableView 的背景颜色不起作用

android - 从主 Activity 向 SlidingMenu 上的 ListView 添加项目

objective-c - 从自定义 uitableviewcell 中的按钮点击委托(delegate)

Android如何比较 fragment ?

android - J. Feinstein 滑动菜单检查是否打开

access-modifiers - Swift 有访问修饰符吗?

ios - 使用 NSUserDefaults 在构建时存储默认值

arrays - 按钮以正确的顺序访问字典数据

ios - 在 tableview 的 UItexView 后面附加一个 UIimage