Автопрокрутка в Tableviewcell - PullRequest
2 голосов
/ 14 января 2012
-(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]; 
} 

У меня есть этот код для автопрокрутки ячейки просмотра таблицы, когда я нажимаю эту кнопку, она начинает прокручиваться автоматически, но я хочу остановить это нажатием другой кнопки. Как остановить вышеуказанную автопрокрутку одним нажатием кнопки. Спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 14 января 2012

Сохраните ссылку autoscrollTimer, а затем используйте метод NSTimer invalidate, чтобы убить таймер.Или, альтернативно, как предложено, используйте scrollToRowAtIndexPath:atScrollPosition: вместо.

2 голосов
/ 14 января 2012

Попробуйте использовать scrollToRowAtIndexPath:atScrollPosition: вместо:

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

Здесь вы можете перейти к следующему ряду, выполнив что-то вроде toRow + 1, и, возможно, где-то там добавить оператор приращения.

...