我已经有一个带有图像的滚动视图,并且我将 IB 中的分页设置为打开,所以我没有使用 pageControl。一切正常,我可以在图像之间切换,但我怎样才能让它自动滚动呢?喜欢 App Store 精选页面上的内容吗?
我正在考虑拥有两个 NSTimers - 一个在 0.3 秒内滚动 320 点,另一个在 4 秒内计数,然后触发第一个。我该怎么做?谢谢!
我已经有一个带有图像的滚动视图,并且我将 IB 中的分页设置为打开,所以我没有使用 pageControl。一切正常,我可以在图像之间切换,但我怎样才能让它自动滚动呢?喜欢 App Store 精选页面上的内容吗?
我正在考虑拥有两个 NSTimers - 一个在 0.3 秒内滚动 320 点,另一个在 4 秒内计数,然后触发第一个。我该怎么做?谢谢!
而不是使用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 中进行“不定式”滚动行为,则必须使用另一种解决方案。
检查本教程以制作圆形和不定式滚动视图。