向右滑动以在不使用故事板的情况下关闭 ViewControlelr Swift
Swipe Right to Dismiss ViewControlelr without using Storyboard Swift
如何在不使用 Storyboard 的情况下关闭任何 View Controller?我必须使用 UINavigationController 来实现吗?如果不是那怎么办?
如果你想向右滑动不是关闭,但我认为你想要的是将 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)
}
关闭视图控制器的方法是在呈现视图控制器上调用关闭方法。如果您通过调用 self.present(_:animated:)
从 parent 展示了您的 child 控制器,那么您可以调用 self.dismiss(animated:)
。如果您使用了 navigationController 并调用了 navigationController.push(_:animated:)
那么您需要告诉导航控制器使用 navigationController.popViewController(animated:)
关闭
方法名称可能不准确,但您应该能够使用自动完成功能将其计算出来。
如果有人仍然难以通过滑动(左、右、下、上)来关闭
我遇到了一只非常优雅体面的椰子panslip
使用非常简单
在viewDidLoad()中调用这个方法即可
对于viewController嵌入导航控制器
let viewControllerVC = self.navigationController
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于简单视图控制器
let viewControllerVC = self
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于嵌入在视图控制器中的 TableView
let viewControllerVC = self.YourTableview.parentContainerViewController()
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissminn
}
如何在不使用 Storyboard 的情况下关闭任何 View Controller?我必须使用 UINavigationController 来实现吗?如果不是那怎么办?
如果你想向右滑动不是关闭,但我认为你想要的是将 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)
}
关闭视图控制器的方法是在呈现视图控制器上调用关闭方法。如果您通过调用 self.present(_:animated:)
从 parent 展示了您的 child 控制器,那么您可以调用 self.dismiss(animated:)
。如果您使用了 navigationController 并调用了 navigationController.push(_:animated:)
那么您需要告诉导航控制器使用 navigationController.popViewController(animated:)
关闭
方法名称可能不准确,但您应该能够使用自动完成功能将其计算出来。
如果有人仍然难以通过滑动(左、右、下、上)来关闭 我遇到了一只非常优雅体面的椰子panslip
使用非常简单
在viewDidLoad()中调用这个方法即可
对于viewController嵌入导航控制器
let viewControllerVC = self.navigationController
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于简单视图控制器
let viewControllerVC = self
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissming
}
对于嵌入在视图控制器中的 TableView
let viewControllerVC = self.YourTableview.parentContainerViewController()
viewControllerVC!.ps.enable(slipDirection: .leftToRight){
//anything you want to do after dissminn
}