【问题标题】:SwiftySKScrollView working perfectly until I try to change its size or move itSwiftySKScrollView 完美运行,直到我尝试更改其大小或移动它
【发布时间】:2017-03-31 02:18:21
【问题描述】:

首先 - 很抱歉提出一个新问题,但我还没有必要的声誉来评论原始问题。

我已经从这里https://github.com/crashoverride777/SwiftySKScrollView 和这个问题ScrollView in SpriteKit 实现了滚动视图。一切都很好,直到我尝试调整它的大小或移动它。我希望有两个单独的滚动视图彼此相邻(这看起来应该不太难),但我不能将第一个 SwiftySKScrollView 移动到一侧。

我发现一旦我更改了

中的任何帧参数,问题就会发生

scrollView = SwiftySKScrollView(frame: CGRect(x: 0, y: 0, width: CGFloat(frame.width), height: frame.height), moveableNode: moveableNode, direction: .vertical)

在我更改参数后(这就是我所做的一切——即使只是将高度参数除以二也会导致问题),滚动视图完全按照我想要的方式显示,但孩子们不再响应触摸。

感谢您的帮助,我真的很感激。

【问题讨论】:

  • 好像这个库是由@crashoverride777 制作的,所以我直接给他发了消息:D 希望他不介意。
  • 谢谢,真是太好了!还是被它弄糊涂了!
  • 老实说,我什至不会费心使用它。我发现使用它没有任何好处,我看到它所做的只是不必要地增加复杂性并以不正确的方式使用两种不同的技术
  • 好的,感谢您的反馈。你有一个你喜欢 SpriteKit 的滚动功能的例子吗?再次感谢!
  • 嘿,我刚看到这个问题。我稍后会做一些测试,让你知道我发现了什么。

标签: swift sprite-kit scrollview


【解决方案1】:

感谢您使用我的助手。这是我的想法

1) 这个助手实际上已经很老了,我个人不再将它用于我自己的项目。我仍然维护 GitHub 存储库,但它不是最优雅的解决方案或我推荐的东西,除非它用于最简单的菜单。我确实在说明中提到了这一点。

2) 它的设计目的不是让 2 个较小的滚动视图彼此相邻。所以我什至不会费心尝试继续。您的最终结果也会很笨拙,并且包含大量容易出错的代码。

3) 一般来说,您会希望避免在 SpriteKit 中使用 UIKit。

4) UICollectionViews 现在几乎是我可能在我的 SpriteKit 项目中使用的唯一 UIKit 东西(例如大型选择菜单),因为它们提供了某些便利(滚动、单元重用等)很难在 SpriteKit 中重新创建。

5) 首先尝试使用 SpriteKit API(SKLabelNodes、SKSpriteNodes、SKNodes 等)完成所有操作。

看看这个例子

https://codedump.io/share/etvt4SwQI6iR/1/how-to-create-a-vertical-scrolling-menu-in-spritekit

6) 如果第 5 点不是一个选项,您可能必须实现 2 个 UICollectionView。这里的问题是

a) 如果您之前没有使用过 UICollectionViews,您将不得不了解它们

b) 您必须通过情节提要创建它们,如果您以前没有使用过情节提要,这可能会很棘手。在 SpriteKit 场景中实现它们也相当困难。

c) 在 SwiftySKScrollView 之类的代码中创建它们,如果您以前没有使用过它们,这也可能非常棘手。

希望对你有帮助

【讨论】:

  • 好的,谢谢你告诉我。努力寻找一个例子,说明有人按照您的建议使用 SpriteKit API 做得很好,但决心按照您所说的去做。
  • 没问题。您想要实现的目标非常棘手,尤其是因为您正在制作 SpriteKit 游戏但想要/正在使用 UIKit API。看看这个,不确定这会有所帮助,但这是你可以在 sprite kit 中做到这一点的方法。 codedump.io/share/etvt4SwQI6iR/1/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 2020-08-09
  • 2021-08-25
  • 1970-01-01
相关资源
最近更新 更多