我的应用程序中有两个滚动视图,一个包含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)];
}
图像滚动条几乎相同。
谢谢!
答案 0 :(得分:0)
一个scrollview不再滚动直到另一个手动滚动完成的初始问题已经解决。
解决方案很简单。每个计时器都需要添加到运行循环中:
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
现在无论是否被一个人的手指打断,他们都会工作。