Reputation: 1245
-(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
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
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