Chilld view Controller donot resize on rotation when added programatically

I’ve a rootview contoller in which i’ve added a splitview controller from storyboard and dynamically i’m adding another SecondView controller as a child to rootview controller.Issue i’m facing is on orientation Second View controller removed from Rootview Controller and splitview occupies the complete view frame. Below is my code of adding child view

 

               Rootview Controller

                           |

________________________________________

|                                                                            |

SplitView Controller (Strory board)                                   ViewController(Programatically)

 

let menuVC = self.storyboard?.instantiateViewController(withIdentifier: "INSPSortFilterViewController") as! INSPSortFilterViewController
menuVC.filterClose = self
var sortingViewWidth:CGFloat? = 0.0
if islandscape { sortingViewWidth = UIScreen.main.bounds.size.width/3 menuVC.viewWidth = sortingViewWidth! - 20 }
else { sortingViewWidth = UIScreen.main.bounds.size.width/2 menuVC.viewWidth = sortingViewWidth! - 20 } self.splitViewController?.parent?.view.addSubview(menuVC.view)
self.splitViewController?.parent?.addChildViewController(menuVC)
menuVC.didMove(toParentViewController: self.splitViewController?.parent)
menuVC.view.layoutIfNeeded() menuVC.sortingAndFilterProtocol = viewModel
menuVC.filterClose = self menuVC.jobList = viewModel?.actualJobList
menuVC.filteredJobList = self.jobList
let navigationBarHeight = ((self.navigationController?.navigationBar.frame.size.height)! + UIApplication.shared.statusBarFrame.size.height) menuVC.view.frame=CGRect(x: 0, y: 0+navigationBarHeight, width: sortingViewWidth!, height: UIScreen.main.bounds.size.height)
let slideInFromLeftTransition = Utility.sharedInstance.getTransition(type: Transition.Left) /
menuVC.view.layer.add(slideInFromLeftTransition, forKey: "slideInFromLeftTransition")
UIView.animate(withDuration: 0.3, delay: 0.0, options: .curveEaseInOut, animations: { () -> Void in self.splitViewController?.view.frame=CGRect(x: sortingViewWidth!, y: 0, width: (UIScreen.main.bounds.size.width), height: UIScreen.main.bounds.size.height) }, completion:nil)

Powered by WPeMatico

About

You may also like...

Comments are closed.