Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 带UIScrollView分页的NSTimer_Iphone_Ios_Scrollview - Fatal编程技术网

Iphone 带UIScrollView分页的NSTimer

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

我已经有了一个带有图像的scrollview,并且我将IB中的分页设置为on,所以我没有使用pageControl。这一切都是可行的,我可以在图像之间切换,但我如何才能使它自动滚动?喜欢应用商店特色页面上的东西吗


我在考虑使用两个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];现在它开始工作了。非常感谢!