如何在不使用Storyboard的情况下关闭任何View Controller?我必须使用UINavigationController来实现这一目标吗?如果不是那么?
答案 0 :(得分:1)
如果某人仍在努力解散(左,右,下,上) 我遇到了一个非常优雅而体面的鹰嘴豆panslip
用法非常简单
只需在viewDidLoad()中调用此方法
对于嵌入在导航控制器中的viewController
let viewControllerVC = self.navigationController
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于Simple View Controller
let viewControllerVC = self
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于嵌入在View Controller中的TableView
let viewControllerVC = self.YourTableview.parentContainerViewController()
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissminn
}
答案 1 :(得分:0)
如果你想向右滑动不是一种解雇,但我认为你希望它将UIViewController
嵌入到UINavigationController
中。
例如:
if let vc = UIStoryboard(name: "YourStoryboard", bundle: nil).instantiateViewController(withIdentifier: "YourViewController") as? YourViewController {
let navigation = UINavigationController(rootViewController: vc)
navigationController?.pushViewController(vc, animated: true)
}
答案 2 :(得分:0)
解除视图控制器的方法是在呈现视图控制器上调用dismiss方法。如果您通过致电self.present(_:animated:)
向父母展示您的子控制器,则可以致电self.dismiss(animated:)
。如果您使用了navigationController并调用了navigationController.push(_:animated:)
,那么您需要告诉导航控制器使用navigationController.popViewController(animated:)
来解雇
方法名称可能不准确,但您应该能够通过自动完成来确定它们。