stackiphone
stackiphone

Reputation: 1245

AutoScrolling in Tableviewcell

-(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]; 
} 

i have this code for autoscrolling of tableviewcell,when i click this button it starts scrolling automatically,but i want to stop this in the another button click.How to stop the above autoscrolling in a button click. TRhanks in advance.

Upvotes: 2

Views: 142

Answers (2)

Mustafa
Mustafa

Reputation: 20564

Save the reference autoscrollTimer, and then use NSTimer's invalidate method to kill the timer. Or, alternately, as suggested, use scrollToRowAtIndexPath:atScrollPosition: instead.

Upvotes: 3

WrightsCS
WrightsCS

Reputation: 50697

Try using scrollToRowAtIndexPath:atScrollPosition: instead:

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

Here, you can scroll to the next row by doing something like toRow + 1, and maybe somewhere in there throw in an increment statement.

Upvotes: 2

Related Questions