2016-11-18 131 views
1

如何将现有的视图控制器添加到滚动视图中。我已经尝试了'viewDidLoad'内的下面的代码,但它没有工作。谢谢将视图控制器并排添加到滚动视图中

let view1 = ViewController6() 
     let view2 = ViewController2() 
     let view3 = ViewController3() 

     contentView.addSubview(view1) 
     contentView.addSubview(view2) 
     contentView.addSubview(view3) 

     self.contentView.contentSize = CGSize(width: self.view.frame.width * 3, height: self.view.frame.height) 
+0

看一看容器的观点。这个想法是你创建一个contentView(UIView),将子UIViewControllers添加到当前的ViewController,然后将子ViewController的视图添加到内容视图中。 – uti0mnia

回答

0

检查此代码在这里,我正在做你想要的东西。

func setupScrollView() 
    { 
     //loop for 
     for i in 0..<3 { 
      //we instantiate our viewController from storyboard 
      let news2 = self.storyboard?.instantiateViewController(withIdentifier: "NewsMasterViewController") as! NewsMasterViewController 
      //we adjust the frame according 
      news2.view.frame = CGRect(x: CGFloat(i) * self.scrollView.frame.size.width + CGFloat(MasterViewController.margin), y: 0, width: self.scrollView.frame.size.width - CGFloat(MasterViewController.margin * 2), height: self.scrollView.frame.size.height) 
      //we call layoutSubviews for constraints adjustments 
      news2.view.layoutSubviews() 
      self.addChildViewController(news2) 
      //added the view of my viewController "news2" to scrollView 
      self.scrollView.addSubview(news2.view) 
      news2.didMove(toParentViewController: self) 
      //added the viewController "news2" to my array of viewControllers 
      newsMasterViewControllers.append(news2) 
     } 

     //adjusted contentSize of scrollView according the number of viewControllers added 
     self.scrollView.contentSize = CGSize(width: self.view.frame.size.width * 3, height: self.scrollView.frame.size.height); 
    } 

我希望这有助于你

相关问题