0

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

[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 上有一个滚动视图,该视图在时间轴上滚动,时间轴在技术上是多个图像。这些图像是可触摸的。并且滚动视图只占据屏幕的一部分,顶部是一个后退按钮和不应滚动的标签。我怎样才能做到这一点?

4

2 回答 2

0

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

于 2012-06-11T12:30:12.060 回答
0

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

于 2012-06-11T22:59:58.610 回答