Tengo un problema con mi vista de tabla. Al descartar un controlador de vista modal presentado en la parte superior, siempre se desplaza hacia la parte superior. He tratado de observar los cambios en contentOffset
usando KVO, pero el que me ensucia la vista va detrás.dismissModalViewControllerAnimated resets contentOffset
Desde el UITableViewController
, cuando el usuario termina su tarea en el cuadro de diálogo modal, self.tableView.contentOffset
es decir, que llamo:
[self dismissModalViewControllerAnimated:YES]
Posteriormente, cuando el viewWillAppear:(BOOL)animated
se llama, el self.tableView.contentOffset
ya se ha ajustado a 0,0.
¿Se supone que esto está sucediendo? Puedo evitar el problema recordando la posición de desplazamiento antes de presentar la vista modal y restaurarla de nuevo en la vista Aparecerá después de descartar la vista modal. Pero parece equivocado. ¿Me estoy perdiendo de algo?
He encontrado un problema similar descrito en Dismiss modal view changes underlying UIScrollView.
¿Puedes verificar si se llama a 'viewDidLoad:' después de descartar la vista modal? (Noté que esto puede suceder durante la advertencia de memoria, algunos componentes se descargan incluso si se empuja la vista). –
babbidi tiene un buen punto, su vista podría descargarse mientras la vista modal está en la parte superior, en el caso de una advertencia de memoria. Si inicializa su vista de tabla en su método viewDidLoad, y hay una advertencia de memoria durante la vista modal, entonces la vista de tabla podría reiniciarse cuando cierre la vista modal. Ponga NSLogs en viewDidUnload y viewDidLoad. – MattyG
Ya estaba monitoreando 'viewDidUnload' - y no, la vista no está descargada. – Palimondo