Límite de rebote para UIScrollview en iOS

Necesito limitar el rebote en una UIScrollView para que rebote como siempre en la parte inferior pero no va más allá de los píxeles X en la parte superior (el background no importa).

¿Hay alguna forma de restringir el tamaño de rebote? Creo que tal vez un método en el delegado como scrollViewWillScroll (en lugar de scrollViewDidScroll ) me permitiera consumir esos events de desplazamiento que se muevan más allá de la parte superior + X, pero no he podido encontrar uno adecuado hasta el momento.

¿Alguna pista?

scrollViewDidScroll: es el método correcto para esto. Ajuste simple el contenido del juego allí.

Este ejemplo restringirá el salto superior a 20 píxeles:

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView.contentOffset.y < -20) { scrollView.contentOffset = CGPointMake(0, -20); } } 

Tenga en count que hay un poco de un retraso no natural hasta que la vista se desplaza nuevamente a 0,0 cuando el motivo del rebote fue un golpe desacelerado y no un arrastre. Pero creo que no hay forma de prevenir esto. Básicamente, el scrollView todavía rebota por completo, pero no lo muestra.