【发布时间】: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