0

我的应用中有两个滚动视图,一个包含 UIImageViews,一个包含 UIButtons。使用 NSTimer,我让它们自动滚动。但是,如果其中一个滚动视图被篡改(手指触摸它并开始手动滚动),另一个滚动视图也会停止。有没有办法阻止这种情况发生?还是正常?

此外,第二个滚动视图中的 UIButtons 是可点击的,但它们不显示标准突出显示。如果我启用发光效果,它可以工作,但不是标准的突出显示。无论如何我也可以完成这项工作吗?

我的 NSTimer 代码是

[NSTimer scheduledTimerWithTimeInterval:0.018 
                                 target:self 
                               selector:@selector(onTimerScrollText) 
                               userInfo:nil 
                                repeats:YES];

- (void)onTimerScrollText {
    CGFloat x = self.textScroller.contentOffset.x;

    x += 0.5;

    [self.textScroller setContentOffset:CGPointMake(x, 0)];
}

图像滚动条几乎相同。

谢谢!

4

1 回答 1

0

一个滚动视图在另一个手动滚动完成之前不再滚动的初始问题已得到解决。

解决方案很简单。每个计时器都需要添加到运行循环中:

[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

现在,无论一个人是否被手指打断,它们都可以工作。

于 2012-07-23T00:37:25.950 回答