关于 UIScrollView 和更改 UIView 所有权的一些帮助

Posted

技术标签:

【中文标题】关于 UIScrollView 和更改 UIView 所有权的一些帮助【英文标题】:Some help regarding UIScrollView and changing ownership of a UIView 【发布时间】:2013-05-14 22:54:55 【问题描述】:

基本上,我正在 iPad 上开发一个应用程序,该应用程序涉及用户可以在屏幕上水平滚动的一条线。它被设置为在顶部有一个 UIScrollView 和一个使用 drawRect 的 UIView。我还有一个 UIView,它基本上是一个球,我可以通过触摸来移动它,并且还可以检测它何时在 UIScrollView 内以及何时在 UIView 中绘制的线上。

不过,这是我的主要问题。 UIScrollView 和球都是同一个视图控制器的子视图,我想这样做,当球被拖入 UIScrollView 时,它会随之滚动,甚至在需要时消失。我该怎么做?发生这种情况时,我应该让球成为 UIScrollView 的子视图,还是应该以其他方式进行?

【问题讨论】:

【参考方案1】:

使用容器视图。将球放在透明容器子视图中,这就是移动的视图(带着球)。当您希望滚动视图或线条随球一起移动时,将它们插入容器中位置 0(在球下方)。

【讨论】:

嗯....恐怕我不太明白你给出的答案。您的意思是将球粘在 UIScrollView 的一个小的透明子视图上,还是将 UIScrollView 插入该透明视图中?很抱歉让我这么困惑...... 将球放入容器视图中,该视图成为带有手势识别器等的视图。当您需要在其中添加视图以跟踪球的运动时,将其放入此视图中。现在球和另一个视图一起移动。 ios/OSX 充斥着使用容器视图解决此类问题的情况。 好的,现在我明白了。谢谢!

以上是关于关于 UIScrollView 和更改 UIView 所有权的一些帮助的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 [UIScrollView removeFromSuperview] 崩溃了?

更改 UIScrollView 内容大小

如何更改 UIScrollView 的位置和大小?

关于 UIScrollView 和 UILongPressGesture

为啥 UIScrollView 委托无法连接到自身?

如何更改 UIScrollView 中的滚动方向?