gpt4 book ai didi

ios - 如何在处理多个 ViewController 的 UIScrollView 上拥有共享背景?

转载 作者:行者123 更新时间:2023-11-30 12:36:04 25 4
gpt4 key购买 nike

我想制作 1 个 UIScrollView,其内部有 1 个背景,可供多个 ViewController 使用。当用户滚动到下一个 ViewController 时,背景应该随之滚动。这是我的代码:

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

}

我已经尝试在 middleViewController 中设置宽度为 3x 的背景,但是在向左/右 ViewController 添加元素时遇到问题,导致元素隐藏在背景后面。谢谢。

最佳答案

在 Storyboard中,您可以将三个容器 View 水平放置到 ScrollView 中,一个接一个地水平放置,然后使用 Embed segue 将每个容器 View 连接到相应的 View Controller 。

关于ios - 如何在处理多个 ViewController 的 UIScrollView 上拥有共享背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42867542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com