Ios 如何在处理多个ViewController的UIScrollView上共享背景?
我想制作一个内部有一个背景的UIScrollView,可供多个ViewController使用。当用户滚动到下一个ViewController时,背景应随之滚动。这是我的代码:Ios 如何在处理多个ViewController的UIScrollView上共享背景?,ios,swift,Ios,Swift,我想制作一个内部有一个背景的UIScrollView,可供多个ViewController使用。当用户滚动到下一个ViewController时,背景应随之滚动。这是我的代码: override func viewDidLoad() { super.viewDidLoad() let leftViewController: StartLeftViewController = StartLeftViewController(nibName: "StartLeftVi
override func viewDidLoad() {
super.viewDidLoad()
let leftViewController: StartLeftViewController = StartLeftViewController(nibName: "StartLeftViewController", bundle: nil)
self.addChildViewController(leftViewController)
self.theScrollView.addSubview(leftViewController.view)
leftViewController.didMove(toParentViewController: self)
let middleViewController: StartMiddleViewController = StartMiddleViewController(nibName: "StartMiddleViewController", bundle: nil)
self.addChildViewController(middleViewController)
self.theScrollView.addSubview(middleViewController.view)
middleViewController.didMove(toParentViewController: self)
let rightViewController: StartRightViewController = StartRightViewController(nibName: "StartRightViewController", bundle: nil)
self.addChildViewController(rightViewController)
self.theScrollView.addSubview(rightViewController.view)
rightViewController.didMove(toParentViewController: self)
var middleFrame : CGRect = middleViewController.view.frame
middleFrame.origin.x = self.view.frame.width
middleViewController.view.frame = middleFrame
var thirdFrame : CGRect = rightViewController.view.frame
thirdFrame.origin.x = 2 * self.view.frame.width
rightViewController.view.frame = thirdFrame
self.theScrollView.contentSize = CGSize(width: self.view.frame.width * 3, height: self.view.frame.height)
theScrollView.contentOffset.x = view.frame.width
}
我已经尝试在宽度为3倍的middleViewController中设置背景,但在向左/右ViewController添加元素时遇到问题,导致元素隐藏在背景后面。谢谢。在故事板中,您可以将三个容器视图放置到滚动视图中,一个接一个地水平放置,并使用嵌入序列将每个容器视图连接到相应的视图控制器。您是否仅使用
视图
而不是视图控制器
进行评估?然后将有一个ViewController
包含scrollView
&将其contentSize调整为已实现的大小