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.
Pero si pongo el LoginViewController como rootViewController de un UINavigationController de la siguiente manera:
ventana! .rootViewController = UINavigationController (rootViewController: loginViewController)
Se vuelve así:
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 № 1Una 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