分层UIScrollView

时间:2012-01-16 22:43:46

标签: ios uiscrollview layer

我正在使用多个UIScrollViews并使用UISegmentedControl来管理哪个是活动的,我的问题是,一旦我设置了UIScrollView的位置并转到另一个,当我尝试和返回我只能控制最后选择的一个,UIScrollView保留在后台。有谁知道如何将UIScrollView带回到顶端?

以下是我的代码,提前加油!

- (void)layerSelected:(id)sender
{
int index = filterControl.selectedSegmentIndex;

switch (index)
{
    case 0: if (scroll == nil)
            {   
                scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
                scroll.pagingEnabled = YES;
                scroll.delaysContentTouches = NO;
                scroll.userInteractionEnabled = YES;
                NSInteger viewCount = 15;
                for (int i = 0; i < viewCount; i++) 
                {
                    CGFloat yOrigin = i * self.view.frame.size.width;
                    UIImageView *filterViewOverlay = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
                    [filterViewOverlay setImage:[filterManager objectAtIndex:i]];
                    [scroll addSubview:filterViewOverlay];
                    [filterViewOverlay release];
                }
                scroll.contentSize = CGSizeMake(self.view.frame.size.width * viewCount, self.view.frame.size.height);
                [self.scroll setContentOffset:currentPos1];
                [self.view addSubview:scroll];
                [scroll release];
            }
            else
            {
                [self.scroll setContentOffset:currentPos1];
                scroll.scrollEnabled = YES;
            }

            break;

1 个答案:

答案 0 :(得分:0)

如果两个滚动视图都是主视图的子视图,那么您需要调用[mainView bringSubviewToFront:scrollView];