在UIScrollView的节上显示内容

时间:2013-09-02 23:58:25

标签: ios objective-c

我试图仅在我的UIScrollView的一个部分(一张照片)上隐藏内容,并使用contentOffset访问该部分,如下所示。如果内容偏移量介于0和320之间(我的图像大小),我隐藏了屏幕上的各种元素。然而,当用户滑动到下一张照片(即内容偏移量大于320)时,我想再次显示内容。我的代码的第一部分工作得很好,但是当用户滑动时,我不确定是否有任何检测到内容偏移量大于320。我对ScrollViews相当新,我不确定他们是否经常更新内容偏移量,或者他们是否检测到会导致更新的用户滑动。在用户滚动到我的第一张图像之后,是否有任何关于如何将元素隐藏为等于NO的想法?

  if (scroller.contentOffset.x >=0<=320)
                {
                    preview.hidden = YES;
                    share.hidden = YES;
                    barView.hidden = YES;
                    saveButton.hidden = YES;
                    shaddows.hidden = YES;

                }
                else if (scroller.contentOffset.x >320)
                {
                   //This part does not work
                    preview.hidden = NO;
                    share.hidden = NO;
                    barView.hidden = YES;
                    saveButton.hidden = YES;
                    shaddows.hidden = YES;
                }

以下是我的滚动码的其余部分:

int PageCount = 2;

        NSMutableArray *myArray =[[NSMutableArray alloc]initWithObjects:@"12-4.png",@"13-4.png",nil];

        scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
        scroller.scrollEnabled=YES;
        scroller.backgroundColor = [UIColor clearColor];
        scroller.pagingEnabled = YES;
        [self.view addSubview:scroller];
        width=scroller.frame.size.width;
        xPos=0;
        for (int i=0; i<PageCount; i++)
        {
            ImgView = [[UIImageView alloc]initWithFrame:CGRectMake(xPos, 0, scroller.frame.size.width, scroller.frame.size.height)];
            [ImgView setImage:[UIImage imageNamed:[myArray objectAtIndex:i]]];
            [scroller addSubview:ImgView];
            scroller.contentSize = CGSizeMake(width, 0);
            width +=scroller.frame.size.width;
            xPos  +=scroller.frame.size.width;
        }

谢谢!

1 个答案:

答案 0 :(得分:0)

更改此行

  if (scroller.contentOffset.x >=0<=320)

  if (scroller.contentOffset.x <= 320)

因为原作不符合你的想法。

此代码应位于scrollViewDidScroll:委托方法中(确保您的控制器是滚动视图委托)。

添加一些日志语句,以便在用户滚动内容偏移它以及代码认为它是什么页面时打印出来。