gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:36:51 33 4
gpt4 key购买 nike

场景:

我有一个(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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com