在Uitableviewcell中自动滚动

时间:2012-01-14 06:32:48

标签: iphone autoscroll

-(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的自动滚动,当我点击这个按钮它开始自动滚动,但我想在另一个按钮点击停止这个。如何停止上面的按钮单击自动滚动。 提前做好准备。

2 个答案:

答案 0 :(得分:3)

保存引用autoscrollTimer,然后使用NSTimer的{​​{1}}方法来终止计时器。或者,按照建议,使用invalidate代替。

答案 1 :(得分:2)

请尝试使用scrollToRowAtIndexPath:atScrollPosition:

[self.table scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:toRow inSection:someSection] 
                  atScrollPosition:UITableViewScrollPositionBottom animated:YES];

在这里,您可以通过执行类似toRow + 1的操作滚动到下一行,也可以在其中某处输入增量语句。