0

我已经有一个带有图像的滚动视图,并且我将 IB 中的分页设置为打开,所以我没有使用 pageControl。一切正常,我可以在图像之间切换,但我怎样才能让它自动滚动呢?喜欢 App Store 精选页面上的内容吗?

我正在考虑拥有两个 NSTimers - 一个在 0.3 秒内滚动 320 点,另一个在 4 秒内计数,然后触发第一个。我该怎么做?谢谢!

4

1 回答 1

3

而不是使用NSTimer你可以使用[self performSelector: withObject: afterDelay:]

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    // start repeatable method
    [self performSelector:@selector(makeTick) withObject:nil afterDelay:4.0f];
}

- (void) makeTick {

    [self performSelector:@selector(makeTick) withObject:nil afterDelay:0.3f];

    // Calclulate new offset
    CGPoint pt = self.scrollView.contentOffset;
    pt.x += self.scrollView.frame.size.width;
    // If it's a last subview in scrollview return back
    if (!(pt.x < self.scrollView.contentSize.width)) {
        pt.x = 0;
    }
    [self.scrollView setContentOffset:pt animated:YES];
}

但!这是一个简单的例子,如何让你滚动“动画”。如果您想在 AppStore 中进行“不定式”滚动行为,则必须使用另一种解决方案。

检查本教程以制作圆形和不定式滚动视图。

于 2013-01-17T15:13:59.567 回答