Iphone 带UIScrollView分页的NSTimer
我已经有了一个带有图像的scrollview,并且我将IB中的分页设置为on,所以我没有使用pageControl。这一切都是可行的,我可以在图像之间切换,但我如何才能使它自动滚动?喜欢应用商店特色页面上的东西吗Iphone 带UIScrollView分页的NSTimer,iphone,ios,scrollview,Iphone,Ios,Scrollview,我已经有了一个带有图像的scrollview,并且我将IB中的分页设置为on,所以我没有使用pageControl。这一切都是可行的,我可以在图像之间切换,但我如何才能使它自动滚动?喜欢应用商店特色页面上的东西吗 我在考虑使用两个NSTimer,一个用来在0.3秒内滚动320点,另一个用来计算4秒,然后触发第一个NSTimer。我该怎么做?谢谢 您可以使用[自执行选择器:withObject:afterDelay:][code> - (void) viewWillAppear:(BOOL)ani
我在考虑使用两个NSTimer,一个用来在0.3秒内滚动320点,另一个用来计算4秒,然后触发第一个NSTimer。我该怎么做?谢谢 您可以使用
[自执行选择器:withObject:afterDelay:][code>
- (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];
}
-(void)视图将显示:(BOOL)动画
{
[超级视图将显示:动画];
//启动可重复方法
[自执行选择器:@selector(makeTick)with object:nil afterDelay:4.0f];
}
-(无效)makeTick{
[自执行选择器:@selector(makeTick)with object:nil afterDelay:0.3f];
//计算新偏移量
CGPoint pt=self.scrollView.contentOffset;
pt.x+=self.scrollView.frame.size.width;
//如果它是scrollview中的最后一个子视图,请返回
if(!(pt.x
但是!这只是一个简单的例子,如何让你滚动“动画”。如果您想在AppStore中实现“无限”滚动行为,您必须使用另一种解决方案
选中此项可创建循环和无限滚动视图。您可以使用[自执行选择器: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];
}
-(void)视图将显示:(BOOL)动画
{
[超级视图将显示:动画];
//启动可重复方法
[自执行选择器:@selector(makeTick)with object:nil afterDelay:4.0f];
}
-(无效)makeTick{
[自执行选择器:@selector(makeTick)with object:nil afterDelay:0.3f];
//计算新偏移量
CGPoint pt=self.scrollView.contentOffset;
pt.x+=self.scrollView.frame.size.width;
//如果它是scrollview中的最后一个子视图,请返回
if(!(pt.x
但是!这只是一个简单的例子,如何让你滚动“动画”。如果您想在AppStore中实现“无限”滚动行为,您必须使用另一种解决方案
检查以创建循环和无限滚动视图。感谢您的回复-这会自动滚动视图,但在开始时延迟4秒后,其余子视图就会飞过。所以我改变了[self-performSelector:@selector(makeTick)with-Object:nil afterDelay:0.3f];至[self-performSelector:@selector(makeTick),对象:nil afterDelay:4.0f];现在它开始工作了。非常感谢!感谢您的回复-这会自动滚动视图,但在开始时延迟4秒后,其余子视图就会飞过。所以我改变了[self-performSelector:@selector(makeTick)with-Object:nil afterDelay:0.3f];至[self-performSelector:@selector(makeTick),对象:nil afterDelay:4.0f];现在它开始工作了。非常感谢!