Hacer un desplazamiento UITableView de arriba a abajo durante un período de time determinado?

Estoy intentando que mi UITableView se desplace lentamente hacia abajo a una velocidad constante, que puedo especificar. He usado scrollToRowAtIndexPath , pero si elijo animarlo o no, es un movimiento casi instantáneo. Estoy mirando algo que se mueve mucho más lentamente.

Me pregunté si podría hacer algo con un bloque de animation UIView, moviendo un indexPath.row a la vez, pero dado que mis celdas son diferentes, esto causaría una velocidad de animation desigual.

¿Alguna otra forma de hacerlo?

Lo tengo con esto …

 [NSTimer scheduledTimerWithTimeInterval: 0.025 target:self selector:@selector(scrollTableView) userInfo:nil repeats:YES]; 

Y..

 - (void) scrollTableView { float w = 1; CGPoint scrollPoint = self.tableView.contentOffset; scrollPoint.y = scrollPoint.y + w; if (scrollPoint.y >= self.tableView.contentSize.height - (self.tableView.frame.size.height - 100) || scrollPoint.x <= -self.tableView.frame.size.height + 924) { w *= -1; } [self.tableView setContentOffset: scrollPoint animated: NO]; } 

Siempre puede disminuir el eje contentOffset y con el time.

Aquí vas amigo. Simplemente cambia el animateWithDuration a segundos más altos como 1 o 1.5 para ver si logra el efecto que deseas. Asegúrese de include la biblioteca QuartzCore y #import <QuartzCore/QuartzCore.h> en su file * .m. Esto es tan fácil como se pone

 -(IBAction)modeTableSlowly { [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ //here tblSimpleTable2 is tableView [tblSimpleTable2 setFrame:CGRectMake(183, 56, 137, 368)]; } completion:nil]; }