How to keep the presentation controller height same on device orientation change. Below is the code:
func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController!, sourceViewController source: UIViewController) -> UIPresentationController? {
return MyPresentationController(presentedViewController: presented, presentingViewController: presenting)
}
class MyPresentationController : UIPresentationController {
override func frameOfPresentedViewInContainerView() -> CGRect {
let controllerHeight:CGFloat = 200.0
let width = UIScreen.main.bounds.width
let height = UIScreen.main.bounds.height
return CGRect(x: 0.0, y: height - controllerHeight, width: width, height: controllerHeight)
}
}
let pvc = MyPresentationController()
pvc.modalPresentationStyle = UIModalPresentationStyle.Custom
pvc.transitioningDelegate = self
I think I got the solution. Maybe not very intuitive but it works. Below is the code which will work in my sample.
I am dismissing and representing the controller on "viewWillTransition"