gpt4 book ai didi

swift - 为什么切换 SKScene 时我的 UIScrollView/SubView 一直显示?

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

所以我的 UIScrollView/Subview 遇到问题。每当我单击商店场景中的“后退”按钮时,它都会转到主菜单,但 ScrollView 仍然存在。我该如何解决?

单击后退按钮之前的主菜单屏幕 ( /image/5yVyc.png )

商店场景,后退按钮位于右下角( /image/Km3zi.png]

单击后退按钮后的主菜单场景(/image/IT6Q0.png)

代码:

  var scrollView = UIScrollView()
let frame = CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height)
scrollView = UIScrollView(frame: frame)
scrollView.backgroundColor = UIColor.clear
scrollView.contentSize = CGSize(width: self.frame.size.width, height: self.frame.size.height*4)
scrollView.isPagingEnabled = false
self.view?.addSubview(scrollView)

当我切换 SKScene 时,UIView 就留在那里。

最佳答案

您正在将 UIScrollView 添加到 SKView(而不是场景)。场景也被添加到 SKview 中。当您切换场景时, ScrollView 仍然在 SKView 中。

这实际上不是您应该处理的方式。我个人不喜欢混合 UIKit 和 Spritekit。特别是因为在 Spritekit 中创建滚动面板非常容易。 SO中有很多关于如何在Spritekit中创建滚动面板的示例How can I make my level menu scrollable vertically? (缺点是你必须自己在代码中滚动,而 UIScrollView 会为你做这件事)

通常,当在 Spritekit 中创建游戏时,您会创建一个场景并将其添加到 SKView 中。然后,您创建任何游戏对象并将它们添加到场景中。这样,当场景被破坏时,对象也会随之被破坏。

如果您必须在 UIKit 中创建某些内容,它会添加到 View 中,但您必须手动将其从 View 中删除,因为销毁场景不会影响它。

关于swift - 为什么切换 SKScene 时我的 UIScrollView/SubView 一直显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44789927/

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