/ / Autolayout no tiene efecto - swift, autolayout, cartografía

Autolayout no tiene efecto - swift, autolayout, cartografía

Acabo de comenzar a estudiar Swift y, cuando uso Cartografía para las vistas de reproducción automática, tengo un problema. Esto es lo que pasa.

Creo un LoginViewController, pongo todos losrestringe en una función llamada "updateConstrains ()", y se llama en la función invalidar viewDidLoad (). Si configuro el LoginViewController como la ventana rootViewController en AppDelegate, funciona bien.

El diseño correcto

Pero si pongo el LoginViewController como rootViewController de un UINavigationController de la siguiente manera:

ventana! .rootViewController = UINavigationController (rootViewController: loginViewController)

Se vuelve así:

El autolayout no tiene efecto.

y cuando se imprime el ancho y el alto de la vista de LoginViewController. Resulta que:

ancho = 155, altura = 0.

¿Alguien puede decirme que pasa?

Respuestas

0 para la respuesta № 1

Una causa común para esto es olvidarse de configurar translatesAutoresizingMaskIntoConstraints = false en la vista

Las vistas que están instanciadas en el código tienen esta propiedad establecida en true por defecto. Esto crea un conjunto de restricciones de diseño automático basadas en los valores de autoresizingMask. Si la máscara de tamaño automático no está definida correctamente, lo que suele ser el caso cuando se utiliza el diseño automático, las restricciones generadas no serán lo que usted pretendía.

Consulte la documentación de Apple para TranslatesAutoresizingMaskIntoConstraints y autoresizingMask