title: ENSideMenu when navigating from UITableViewController to DetailsViewController it wont be opened again swift
body: <p>Scenario:</p>
  
  <p>I have a MainViewController, TableViewController and DetailsViewController of (TableViewController)</p>
  
  <p>I am using Open Source Library to obtain Sliding menu functionality the tutorial can be found here: Sliding menu with <a href="https://www.youtube.com/watch?v=wYiSkRKt4_s" rel="nofollow">ENSideMenuNavigationController</a></p>
  
  <p>When I applied this tutorial to my project I could easily obtained sliding menu as I wanted and you can from the <a href="http://i.stack.imgur.com/ln4K3.png" rel="nofollow">image</a></p>
  
  <p>When I click on Second View a TableViewController appears with the list data and Here the Issue starts when I select a row it navigates to details view controller and when I come back from detailsviewcontroller to TableViewController sliding menu wont open again. </p>
  
  <p>Here is my TableViewController didSelectRowAtIndexPath code:</p>
  
  <pre><code>      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
  
    }  
  </code></pre>
  
  <p>Here is the detailsViewController code when I navigate back to my TableViewController</p>
  
  <pre><code> 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)
  
  
      }
  </code></pre>
  
  <p>The last piece of my code represents the tutorial code which comes from ENSideMenuNavigationController</p>
  
  <pre><code>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.
  
  
  
  
  
      }
  </code></pre>
  
  <p>Please any help will be appreciated.. It has been a couple of weeks I am stack</p>