如何以编程方式慢慢地从头到尾滚动UIScrollView

时间:2011-07-28 11:09:57

标签: ios uiscrollview

我有一个水平的UIScrollview,显示大约10张图片。 我知道我们要使用scrollRectToVisible方法以编程方式移动scrollview。 但我要找的是从滚动视图的开始到结束慢慢滚动滚动视图(1秒内5个像素)。

我看过一些页面,但我不明白如何在我的代码中集成以下代码:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:(abs(rMid-pMid)*0.3)];
scrollMid.contentOffset = CGPointMake(rMid*320, 0);
[UIView commitAnimations];

1 个答案:

答案 0 :(得分:5)

你可以使用NSTimer之类的

- (void) viewDidLoad
{       
    if (scrollingTimer == nil)
    {
        scrollingTimer = [NSTimer scheduledTimerWithTimeInterval:(0.06)
                         target:self selector:@selector(autoscrollTimerFired) userInfo:nil repeats:YES];        
    }
}

- (void) autoscrollTimerFired
{
    if (scrollPoint.y == 583) // at where you want to stop scroll
    {
        [scrollingTimer invalidate];
        scrollingTimer = nil;
    }
    scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 1);
    [self.scrollView setContentOffset:scrollPoint animated:NO];
}
希望它能帮到你......