2017-02-15 2 views
1

Ist es möglich, die viewController für eine UIView programmgesteuert festzulegen? Was ich tun möchte, ist eine UIView, die immer 50% der Bildschirmhöhe abdeckt und fügen Sie eine ViewController auf dieser view nach der Initialisierung. Ich kann keine Methode finden. Pseudo-Code:Setzen Sie den ViewController auf UIView programmgesteuert

let view = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height UIScreen.main.bounds.height * 0.5) 

//Can't seem to find a method that does exactly this: 
view.setViewController(.......) 
+0

view.setViewController (.......) an diesem Ort verwenden Sie view.addsubview (yourVCname.view) –

+0

@ OleAndré Sie wollen also einen View-Controller, von dem 50% in einer UIView behandelt werden, die behandelt wird von einem anderen Blick Controller? – Florensvb

+0

Verwandte http://StackOverflow.com/a/42110439/6433023 zum Hinzufügen von ViewController in Ansicht –

Antwort

0

Insert yourAnotherVC.view als ein Subview yourview

var MenuView: AnotherViewController? = (self.storyboard?.instantiateViewController(withIdentifier: "NewsView") as? AnotherViewController) 
    self.addChildViewController(MenuView) 
    MenuView?.didMove(toParentViewController: self) 
    MenuView?.view?.frame = CGRect(x: CGFloat(0.0), y: CGFloat(self.containerView.frame.size.height), width: CGFloat(self.containerView.frame.size.width), height: CGFloat(self.containerView.frame.size.height)) 
    yourview.insertSubview(MenuView?.view, belowSubview: self.bottomMenuView) 

    //Show presentation logic here forward i mean show Anotherviewvc bottom to top or top to bottom 
0

Ich werde verstecken und Ansichten zeigen, anstatt die ganze UIViews des Umschaltens aus, so dass keine Antworten mehr benötigt # Schließen

0
// Add Child View Controller from your MainVC 
    addChildViewController(viewController) //your 2nd VC 

    // Add Child View as Subview 
    view.addSubview(viewController.view) 

    // Configure Child View 
    viewController.view.frame = view.bounds //here you make it 50% of height! 
    viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 

    // Notify Child View Controller 
    viewController.didMove(toParentViewController: self) 
0

Sie können eine Containeransicht hinzufügen, die ihren eigenen UIViewController verwendet. Ziehen Sie es einfach aus der Objektbibliothek und schon können Sie loslegen.

Verwandte Themen