-(IBAction)_clickautoscroll:(id)sender
{
NSTimer *autoscrollTimer;
if (autoscrollTimer == nil) {
autoscrollTimer = [NSTimer scheduledTimerWithTimeInterval:(55.0/1000.0)
target:self
selector:@selector(autoscrollTimerFired:)
userInfo:nil
repeats:YES];
}
}
- (void)autoscrollTimerFired:(NSTimer*)timer {
CGPoint scrollPoint = self.table.contentOffset;
scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 1);
[self.table setContentOffset:scrollPoint animated:NO];
}
我有这个代码用于tableviewcell的自动滚动,当我点击这个按钮它开始自动滚动,但我想在另一个按钮点击停止这个。如何停止上面的按钮单击自动滚动。 提前做好准备。
答案 0 :(得分:3)
保存引用autoscrollTimer
,然后使用NSTimer
的{{1}}方法来终止计时器。或者,按照建议,使用invalidate
代替。
答案 1 :(得分:2)
请尝试使用scrollToRowAtIndexPath:atScrollPosition:
:
[self.table scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:toRow inSection:someSection]
atScrollPosition:UITableViewScrollPositionBottom animated:YES];
在这里,您可以通过执行类似toRow + 1
的操作滚动到下一行,也可以在其中某处输入增量语句。