【问题标题】:UIScrollView Problems on iPadiPad 上的 UIScrollView 问题
【发布时间】:2012-06-13 16:59:53
【问题描述】:

我正在尝试让 iPad 上的 UIScrollView 工作。我已经查看了几乎所有现有的问题,但没有一个真正解决了我的问题。所以基本上这是我的代码:

[scroll setScrollEnabled:YES];
scroll.contentSize = CGSizeMake(scroll.frame.size.width, 2320);

顺便打电话给viewDidLoad。当我构建和运行时,滚动视图侧栏会在我滚动时改变它的位置(表明它正在工作),但视图不会改变/保持在顶部。我的观点由许多UIImageView 组成,但我认为这不是问题。同样对于我的安排,我的滚动视图位于整个视图的前面。

谢谢!

更新:

所以基本上发生的事情是我的UIView 的滚动视图没有覆盖整个视图。它不包括我有标签和按钮的最顶部。但是,当我将它加载到 iPad 时,我的图像覆盖了顶部......现在可以上下滚动了。

为什么会这样?

截图:

更新:

我的代码:

[scroll setScrollEnabled:YES];
scroll.contentSize = CGSizeMake(scroll.frame.size.width, 1500);

[scroll addSubview: i1];
[scroll addSubview: i2];
[scroll addSubview: i3];
[scroll addSubview: i4];
[scroll addSubview: i5];
[scroll addSubview: i6];
[scroll addSubview: i7];
[scroll addSubview: i8];
[scroll addSubview: line];

知道为什么会这样吗?

向滚动视图添加子视图是否正确?

更新:

我还有一个问题,我已经实现了touchesBegan 方法,如果用户触摸这些图像中的任何一个,就会显示一个包含某些信息的弹出窗口。该代码是非常标准的,但不需要显示它。那么,有没有办法让滚动视图响应对其内容的触摸?

问题是每当我触摸图像时,touchesBegan 永远不会被调用,因为滚动视图在前面,对吧?但是如果我发送滚动视图向后滚动不起作用。

如您所见,我这里有很多问题,但不是查看我的代码并尝试解决每个错误。我有一个更好的主意。这是我想要做的:

在 iPad 上有一个滚动视图,该视图在时间轴上滚动,时间轴在技术上是多个图像。这些图像是可触摸的。并且滚动视图只占据屏幕的一部分,顶部是一个后退按钮和不应滚动的标签。我该怎么做?

【问题讨论】:

  • 您确定要将图像视图添加为滚动视图的子视图,而不是主父视图吗?
  • 不,它们是主父视图的子视图,所以显然我在这里遗漏了一些东西。我应该调用 [scroll addSubview: image];
  • 是的,您应该将它们添加到滚动视图中。滚动视图只滚动它自己的内容。如果视图被添加到父视图,滚动视图甚至不知道它们存在。
  • 好的,我试过了,我已经用我遇到的一些问题更新了我的问题
  • 我们可以看看视图控制器代码吗?

标签: objective-c ios xcode uiscrollview


【解决方案1】:

确保正确设置子视图的框架。如果没有,您的子视图很可能会默认为滚动视图中的 (0,0) 位置。

【讨论】:

  • 我的相框?我没有修改它们,但它们是在 xib 文件中设置的
  • 如果您在 xib 文件中设置图像视图,为什么要在滚动视图中使用 addSubview 添加它?
  • 您应该将它们添加到滚动视图中。滚动视图只滚动它自己的内容。如果视图被添加到父视图,滚动视图甚至不知道它们存在。
  • 这是我要调试的内容:将子视图添加到滚动视图后,我将检查已添加到滚动视图的每个子视图的帧值,以检查它们是否在该位置我想要的。如果没有,那么我会相应地调整子视图的框架。
【解决方案2】:

您是否仔细检查了 IBOutlet 是否已实际连接?我建议您添加一个断言以确保 ScrollView 引用已初始化。这通常会为您节省大量时间。

【讨论】:

  • 第二个想法。请检查是否所有的超级视图都将“用户交互”标志设置为 true。
  • 嗯,现在我看到了您更新的问题...您的 UIImageView 是 ScrollView 的子视图...对吗?。
猜你喜欢
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 2021-10-01
相关资源
最近更新 更多