gpt4 book ai didi

swift - SWReveal TableViewController - 如何启动到不同的 ViewControllers?

转载 作者:行者123 更新时间:2023-11-28 15:23:37 26 4
gpt4 key购买 nike

我正在使用 SWReveal 滑出式菜单系统。菜单是从一个数组生成的,一切正常。例如

arrayOfCellData = [cellData(cell : 1, text : "Angles", image : #imageLiteral(resourceName: "Angles.png")),
cellData(cell : 2, text : "Area", image : #imageLiteral(resourceName: "Area.png")),

当我点击一个特定的菜单选项时,我想转到另一个 ViewController。这是我一直在使用但不起作用的代码。第 1 行调用 segue A 和 2 segue B 的想法......

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

if(indexPath.row == 1 ){
let vc: AnyObject! = self.storyboard?.instantiateViewController(withIdentifier: "A")
self.performSegue(withIdentifier: "A", sender: self)
self.show(vc as! A, sender: vc)
NSLog("A")
}
if(indexPath.row == 2 ){
let vc: AnyObject! = self.storyboard?.instantiateViewController(withIdentifier: "B")
self.performSegue(withIdentifier: "B", sender: self)
self.show(vc as! B, sender: vc)
NSLog("B")
}
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = " "
navigationItem.backBarButtonItem = backItem


if segue.identifier == "A", let nextScene = segue.destination as? A {
nextScene.categoryCounter = 1
}
if segue.identifier == "B", let nextScene = segue.destination as? B {
nextScene.categoryCounter = 2
}

}

最佳答案

对于 SWRevealViewController,最好不要在 Storyboard中使用 segues,而是以编程方式收缩显示 View Controller 。试试这个,在您的 didSelectRowAtIndexPath 方法中将以下内容添加到您的代码中。

// Here I get the view controllers I am interested in
let frontStoryboard = UIStoryboard(name: "YourStoryboard", bundle: .main)
let frontVC = frontStoryboard.instantiateInitialViewController()

let rearStoryboard = UIStoryboard(name: "YourOtherStoryboard", bundle: .main)
let rearVC = rearStoryboard.instantiateInitialViewController()

// Construct the SWRevealViewController with your view controllers
if let revealVC = SWRevealViewController(rearViewController: rearVC, frontViewController: frontVC) {
revealVC.modalTransitionStyle = .crossDissolve // Set segue transition
present(revealVC, animated: true, completion: nil) // Segue to view controller
}

关于swift - SWReveal TableViewController - 如何启动到不同的 ViewControllers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45574886/

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