Actualmente estoy desarrollando una aplicación educativa, laEl primer controlador de vista muestra las categorías principales y el segundo (casi como Pinterest) muestra las varias subcategorías. El diseño automático que utilicé funciona perfectamente para el iPhone 6, 7, 8 y X, sin embargo, los modelos Plus están distorsionados un poco.
Así es como se ve en los modelos 6, 7, 8 y X.
Sin embargo, cuando lo ejecuto en los modelos Plus, se parece a lo siguiente:
Tengo el siguiente código de diseño automático
Este diseño automático corresponde al primer controlador de vista. Estoy usando una vista de pila, por lo que la altura de ScrollView se puede ajustar según el contenido de la vista de pila.
Este diseño automático corresponde a laControlador de vista de subcategorías similar a Pinterest. Estoy usando el código empleado por Ryan Wenderlich; sin embargo, en lugar de usar imágenes, en ambos controladores de vista estoy usando botones para que el usuario pueda ir a la sección correspondiente. Los agrego programáticamente, pero siempre estoy conectado al prototipo de elemento de celda.
¿Cómo puedo hacer que el diseño automático funcione para los modelos Plus?
Respuestas
1 para la respuesta № 1Encontré tu problema:
Cada botón tiene un título de Button
y deberías eliminar el título por defecto. ese título presionó la imagen del botón y, debido al color blanco del título, no lo viste.
También puedes controlar la imagen de UIButton
s por Control > Alignment section
Mira la captura de pantalla que adjunto.
Por cierto, te recomiendo que uses UIImageView
+ UIButton
sobre ella en lugar de usar UIButton
"s contenido de la imagen.
Editar
CollectionView
Es un desastre total! Se comerá mucha RAM. Tienes muchas células una sobre la otra.
por cierto, parece que su segundo problema de control de vista relacionado con el stackviews
Eso no es restricción establecida.
cell.addSubview(stackView)
NSLayoutConstraint(item: stackView, attribute: .centerX, relatedBy: .equal, toItem: cell, attribute: .centerX, multiplier: 1, constant: 0).isActive = true
NSLayoutConstraint(item: stackView, attribute: .centerY, relatedBy: .equal, toItem: cell, attribute: .centerY, multiplier: 1, constant: 0).isActive = true
Acabo de centrar uno de los stackview
S y yo descubrimos que está relacionado con la restricción.
mira esto como para la configuración Constraint
programáticamente
Swift | Añadiendo restricciones programáticamente