ios - objective - ¿Cuándo se llaman los métodos ViewWillLayoutSubviews y ViewDidLayoutSubviews?
viewcontroller swift (1)
De la documentación:
Cuando los límites de una vista cambian, la vista ajusta la posición de sus subvistas. El controlador de la vista puede anular este método para realizar cambios antes de que la vista muestre sus subvistas. ( Link )
viewWillLayoutSubviews
se llama cada vez que la vista de su controlador de vista cambia sus límites. Esto sucede cuando se carga la vista, cuando ocurre un evento de rotación, o cuando un controlador de vista secundario cambia su tamaño por su padre. (Probablemente hay otras situaciones, también). Si hay algo que necesita actualizar antes de que se establezca esa vista (y antes de que se vuelvan a aplicar las restricciones), debe hacerlo aquí. Por lo general, no debe actualizar las restricciones aquí, ya que las restricciones de actualización pueden causar otro paso de diseño.
Se llama a viewDidLayoutSubviews
una vez que se han distribuido todas las subvistas. Si necesita afinar ese diseño ajustando manualmente los marcos, por ejemplo, este sería el lugar para hacerlo.
ver el ciclo de vida del controlador puede ser un poco confuso, pero vale la pena tratar de entender realmente si va a estar haciendo mucho desarrollo de iOS. Este artículo es una muy buena visión general.
¿ ViewWillLayoutSubviews
ViewDidLayoutSubviews
métodos ViewWillLayoutSubviews
y ViewDidLayoutSubviews
de UIViewController? ¿Cuál es el estado del marco de la vista antes de willLayoutSubviews
?