简体   繁体   English

将UIViewController添加到UIScrollView swift 3

[英]Add UIViewController to UIScrollView swift 3

I'm working on a ScrollView . 我正在研究ScrollView Currently I have tow images in my ScrollView and I want to add at least a new UIViewController in the ScrollView . 目前,我有我的滚动型拖曳图片,我想至少添加一个新UIViewControllerScrollView

That is the code which I have yet: 那是我的代码:

    self.scrollView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.scrollView.frame.height)
    let scrollviewHeight = self.scrollView.frame.height
    let scrollviewWidth = self.scrollView.frame.width

    var imgOne = UIImageView(frame: CGRect(x: 0, y: 0, width: scrollviewWidth, height: scrollviewHeight))
    var imgTwo = UIImageView(frame: CGRect(x: scrollviewWidth, y: 0, width: scrollviewWidth, height: scrollviewHeight))

    imgOne.image = UIImage(named: "preview1")
    imgTwo.image = UIImage(named: "preview2")

    self.scrollView.addSubview(imgOne)
    self.scrollView.addSubview(imgTwo)

    self.scrollView.contentSize = CGSize(width: self.scrollView.frame.width * 2, height: self.scrollView.frame.height)
    self.scrollView.isPagingEnabled = true

Design: 设计:

The first one is the root ViewController, where the ScrollView is and the second one I want to add in the ScrollView 第一个是根ViewController,其中ScrollView是我想要在ScrollView中添加的第二个

Try this and see: 试试看,看看:

self.scrollView.frame = CGRect( <set frame> )

var imgOne = UIImageView(frame: CGRect( <set frame> ))
var imgTwo = UIImageView(frame: CGRect( <set frame> ))
var vcView = UIView(frame: CGRect( <set frame> ))
addChildVC(vcView: vcView)

imgOne.image = UIImage(named: "preview1")
imgTwo.image = UIImage(named: "preview2")

self.scrollView.addSubview(imgOne)
self.scrollView.addSubview(imgTwo)
self.scrollView.addSubview(vcView)



self.scrollView.contentSize = CGSize( <set content size> )
self.scrollView.isPagingEnabled = true

Add child view Controller 添加子视图控制器

func addChildVC(vcView: UIView){

let testVC = self.storyboard?.instantiateViewControllerWithIdentifier("testIdentifier") as! TestViewController
    testVC.view.frame = vcView.bounds
    vcView.addSubview(testVC.view)
    self.addChildViewController(testVC)
    testVC.didMoveToParentViewController(self)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM