0

嗨,我UIScrollView第一次能够看到我的偏移量,但我希望它在用户从左到右滚动时不断更新和检查偏移量。

这就是我所拥有的。

我的UIScrollView

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;
}

然后偏移

if (scroller.contentOffset.x >= 0 && scroller.contentOffset.x <= 320)
{
     NSLog(@"Offset %f", scroller.contentOffset.x);
}

而那个returns 0
我想不断更新和检查偏移量。

我已经尝试[scroller needsDisplay][scroller needsLayout]

任何帮助将非常感激。
谢谢你。

4

1 回答 1

0

您需要学习 C 的基础知识:

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

这假设您想查看x偏移量是否介于 0 和 320(含)之间。

要在滚动视图滚动时检查偏移量,请实现scrollViewDidScroll:委托方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.x >= 0 && scrollView.contentOffset.x <= 320) {
        NSLog(@"Offset %f", scroller.contentOffset.x);
    } else if (...) {
    }
}

当然,您需要查看滚动视图的delegate属性。

于 2013-09-03T05:49:47.957 回答