UIScrollView作为另一个UIScrollView的子视图

时间:2013-01-28 15:50:30

标签: ios uiscrollview

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

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

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

您知道有任何示例代码吗?

UIScrollView as content of another UIScrollView

2 个答案:

答案 0 :(得分:1)

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

的示例

答案 1 :(得分: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];