0

是否可以有一个小的垂直滚动视图作为另一个更大的垂直滚动视图的子视图?

我做了一个小原型。当滚动视图不是分层的(例如,如果我将它们并排放置),两者都可以正确滚动。但是如果我把一个作为另一个的子视图,那么当我平移它时只有子滚动视图滚动,而当我平移它时顶部滚动视图似乎被锁定。

我设想如果用户平移嵌入的滚动视图(下图中的 subSV),那么只有嵌入的滚动视图会滚动。类似地,如果用户平移顶部滚动视图,那么只有顶部滚动视图会移动,并且嵌入的滚动视图可能会滚动出可见内容。

您知道执行此操作的任何示例代码吗?

UIScrollView 作为另一个 UIScrollView 的内容

4

2 回答 2

1

显然从 3.0 开始完全支持,并且应该是自动的(参见http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/NestedScrollViews/NestedScrollViews.html)。他们还提供了示例代码,其中可能包含嵌套UIScrollViews 的示例。

于 2013-01-28T15:59:30.640 回答
0

我能够以编程方式使其工作,但不使用 StoryBoard。这是一段简单的代码:

UIScrollView *topSV = [[UIScrollView alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 600.0f, 600.0f)];
topSV.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
topSV.contentSize = CGSizeMake(2000.0f, 2000.0f);

UIScrollView *subSV = [[UIScrollView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 200.0f, 200.0f)];
subSV.backgroundColor = [UIColor whiteColor];
subSV.contentSize = CGSizeMake(2000.0f, 2000.0f);

[topSV addSubview:subSV];

[self.window addSubview:topSV];
于 2013-01-28T17:10:09.957 回答