将视图控制器并排添加到滚动视图中

时间:2016-11-18 20:27:29

标签: ios swift uiviewcontroller uiscrollview

如何将现有的视图控制器添加到滚动视图中。我在'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)

1 个答案:

答案 0 :(得分: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);
    }

我希望这有助于你