2011-09-24 10 views
9

A UIScrollView en mi jerarquía de vistas está actuando funky siempre que presente un controlador de vista modal encima de él. Ajusta automáticamente el desplazamiento del contenido y mueve mi contenido a unos 40 píxeles. Parece que no puedo entender cómo detener esto.UIScrollView cambia el desplazamiento de contenido en presentModalViewController

Después de husmear he encontrado que el presentModalViewController de alguna manera activa el método privado _adjustContentOffsetIfNecessary en mi UIScrollView y esto es lo que está cambiando el desplazamiento.

¿Alguna idea de si esto es un error por parte de Apple? ¿O algo se pone complicado en mi UIScrollView? De todos modos para deshabilitar este método _adjustContentOffsetIfNecessary o al menos este efecto secundario?

+0

FYI, estoy trabajando en todo esto con una categoría de mi método ViewController presentModalViewController que salva el problema UIScrollView contentOffset y luego conjuntos vuelve. También recargo los datos en la jerarquía de UIView cuando dejo de lado aModorViewController. Todavía me gustaría encontrar una solución más elegante ya que innecesariamente tengo que volver a cargar los datos y esto tiene una sobrecarga de procesamiento –

+0

¿Intentó establecer la propiedad 'scrollEnabled' en NO y luego volver a SÍ? – Akshay

+0

Lo intentaré. Parece una solución extraña –

Respuesta

0

Aunque no es elegante, resolví este restablecimiento de la compensación de contenido en viewDidAppear del presentingViewController.

0

Intenta definir los automaticallyAdjustsScrollViewInsets propiedad de su ViewController, que contiene el UIScrollView, a "NO"

Cuestiones relacionadas