presentViewControler推动所有控制器堆栈
问题描述:
我有一个tableView作为我的第一个视图。每个单元格都是可点击的,点击后,我使用presentViewController以新数据显示当前视图。我没有导航栏,所以我不能使用导航控制器和推。问题是每次我点击一个单元格时,它会显示一个新的视图(这很好),但按下后退按钮时,它只会向后移动一步,但我想让它进入第一个视图。我该怎么做?presentViewControler推动所有控制器堆栈
print("clicked " + String(indexPath.row))
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("playVideo") as! PlayVideoViewController
preferences.setValue(self.video[indexPath.row].id , forKey: "id")
//self.dismissViewControllerAnimated(false, completion: nil)
self.presentViewController(vc, animated: true, completion: nil)
回:
self.dismissViewControllerAnimated(true, completion: nil)
答
如果要回到第一个VC使用该代码:
self.view.window!.rootViewController?.dismissViewControllerAnimated(true, completion: nil)
如果你正在使用的UINavigationController你能证明 'VC' 在导航控制器通过按方法推动堆栈-pushViewController:animated:并返回返回按钮将调用-popToRootViewControllerAnimated:导航控制器的方法。 –
@IgorBidiniuc我没有navigationController,所以我不能使用它 –
所以你为什么不能使用它?你可以隐藏导航栏。 –