ios - recuerdo - Altura implícita de la pantalla de retrato de restricción de iPhone
restricciones iphone ios 12 (3)
Aunque no es ideal, dependiendo de cómo esté estructurado su XIB y de cómo esté haciendo referencia a la vista, podría crear una vista de "área reutilizable" y colocar su vista personalizada dentro de eso solo para ver cómo se distribuirá todo. Es decir, si está configurando la vista en una salida definida en el Propietario de archivo del XIB, puede simplemente conectarla a la vista que ha creado dentro del "área de aplicación".
Por ejemplo, creé una vista de contenedor con un cuadrado y un interruptor dentro. El ejemplo superior se queja de restricciones conflictivas y no se distribuye correctamente, mientras que el ejemplo inferior muestra lo mismo centrado en una vista desechable. De nuevo, no es ideal, pero funciona para mí.
Editar: Me acabo de dar cuenta de que algunas restricciones de clase de tamaño pueden perderse una vez que se descarta la vista de "almohadilla de raspado", por lo que es otra arruga a considerar. Todavía estoy investigando esto.
Traté de crear una vista freefrom personalizada con el constructor de interfaz. Tengo una UIView que contiene UIImageView y UILabel. Establecí las restricciones para ajustar la etiqueta según la imagen, etc. y un margen para la supervista.
Ahora quiero que la supervista encaje exactamente en las subvistas. Pero cuando presiono Editor -> Tamaño para ajustar contenido, la supervista no se redimensiona por completo y las restricciones entran en conflicto. Lo que aparece es una restricción implícita ("altura de la pantalla del retrato de iPhone"), que no se puede modificar ni eliminar. Ver la captura de pantalla a continuación:
Noté que cuando arrastré físicamente el ancho y el alto de la supervista para satisfacer las restricciones, los errores de restricción rojos desaparecieron junto con la restricción "Ancho de pantalla de retrato de iPhone". En otras palabras, mis restricciones dictaron que mi subvista esté en la alineación inferior con su súper vista. Si arrastré el borde inferior de la supervista hacia arriba para alinear el color con la subvista, los errores desaparecieron. Todavía parece con errores y poco intuitivo.
Para simplificar, olvídese de la etiqueta por el momento. Ya ha agregado la restricción de ancho y alto de la vista de imagen, ahora, en lugar de usar el contenido de sizetofit, intente agregar restricciones iniciales, finales, superiores e inferiores entre la vista de la imagen y su vista principal. Con eso, la vista principal debe ajustarse a la vista de la imagen.
Se puede usar la misma técnica (restricciones para la vista principal) para que funcione con la vista de imagen y la etiqueta juntas.