【问题标题】:Add UIViewController to UIScrollView swift 3将 UIViewController 添加到 UIScrollView swift 3
【发布时间】:2017-11-21 21:06:55
【问题描述】:

我正在处理ScrollView。目前我的 ScrollView 中有两个图像,我想在 ScrollView 中添加至少一个新的 UIViewController

这是我还没有的代码:

    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

设计:

The first one is the root ViewController, where the ScrollView is and the second one I want to add in the ScrollView

【问题讨论】:

  • 这段代码中UIViewController在哪里
  • @Krunal 我还没有添加新的 UIViewController 因为 Idk 是否以及如何可能。我应该使用@IBOutlet 吗?
  • 可以这样做,只要告诉我,你想在哪里添加它。分享您的设计。
  • 我喜欢在imgTwo.image = UIImage(named: "preview1")之后添加新的UIViewController

标签: ios swift swift3 uiviewcontroller uiscrollview


【解决方案1】:

试试这个看看:

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

添加子视图控制器

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)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-15
    • 2023-03-28
    • 1970-01-01
    • 2017-01-04
    • 2014-08-18
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多