Seguía teniendo problemas después de usar estas soluciones. El problema definitivamente parece estar relacionado con tener barras de navegación transparentes y seleccionar ajustar automáticamente las inserciones de contenido en el controlador de vista. Si no le importa que su texto se desplace debajo de la barra de navegación, es mejor dejar esta configuración desactivada y restringir la parte superior de su vista de texto a la parte inferior de la barra de navegación, en lugar de a la parte superior del controlador de vista.
Si, como yo, querías que apareciera debajo de tu barra de navegación cuando te desplazas hacia abajo; entonces la solución que funcionó para mí fue agregar esto.
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat offset = self.navigationController.navigationBar.frame.size.height+[UIApplication sharedApplication].statusBarFrame.size.height;
[self.textView setContentOffset:CGPointMake(0, -offset) animated:NO];
}
Esto solo busca la altura de la barra de navegación y la barra de estado y ajusta el desplazamiento de contenido en consecuencia.
Tenga en cuenta que una desventaja de este enfoque es que cuando el dispositivo gira, terminará desplazándose hacia la parte superior.