ios - custom view navigation bar swift
El marco de advertencia para "Barra de navegación" será diferente en el tiempo de ejecución aparece en Xcode 8 Swift 3 (13)
Cambie la Vista previa de su dispositivo en xcode para Ver controlador y compile y verifique las advertencias ...
Xcode 8 tiene errores, el generador de interfaces lo restablece con un no aleatorio que afecta a todas las vistas contenidas. Intenta cambiar tu dispositivo de vista previa.
Antes de actualizar a
Xcode 8
no he visto este error en tal caso.
Tengo diferentes controladores de navegación.
Para todos ellos veo un error El
Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375
Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375
En realidad, estos Controladores de navegación no tienen
Navigation bar
Navigation bar
. Existe
Navigation bar
para subvistas. De todos modos, podría resolverlo marcando y desmarcando la casilla
Shows navigation bar
en el
Attributes inspector
Pero desafortunadamente, cada vez que vuelvo a abrir
Main.storyboard
esta advertencia aparece nuevamente. Además, si hago clic en el triángulo amarillo y luego en los marcos de actualización, no sucede nada.
Como se mencionó here , puede solucionar esto activando / desactivando Ajustar inserciones de vista de desplazamiento.
Como solución alternativa solo para deshacerme de la advertencia molesta, he estado editando Main.storyboard manualmente eliminando ''fuera de lugar'' en:
<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">
Un truco, pero es bueno tener cero advertencias en lugar de 1 :)
De acuerdo, parece que he solucionado el problema. Esto es lo que hice.
Seleccione marcos de actualización como normal. Abra un archivo diferente y luego haga clic nuevamente en el archivo del guión gráfico. Si eso no funciona, reinicie Xcode. Parece que se estaba actualizando internamente, pero la interfaz de usuario del generador de interfaces estaba atascada, ya que a veces se bloquea.
Haga clic en "Ver como" en la parte inferior izquierda de su guión gráfico y elija un tamaño de dispositivo diferente, luego haga clic nuevamente y vuelva al tamaño del dispositivo con el que comenzó. Esto funcionó para mí.
Hasta que se repare Xcode 8, puede configurar la opción "Ver como:" en "iPhone SE" para eliminar la advertencia. No es ideal, pero funciona por ahora.
He cambiado de Ver como: iPhone 6S a iPhone 5S, luego volví a cambiar al iPhone 6S, y Xcode hizo todos los cambios para eliminar la advertencia.
Intenté todas las sugerencias anteriores pero no pareció funcionar. Creo que podría ser un error más grave.
He registrado un error con Apple Bug Reporter (enlace:
https://bugreport.apple.com/logon
): si desea hacer lo mismo, haga referencia al error:
31355220
para que Apple pueda vincularlo.
Cuantas más personas lo denuncien, más información tendrán para solucionar esta molestia.
La advertencia desaparecerá si cambia la propiedad "Tamaño simulado" a "Forma libre".
Pude deshacerme del problema por completo configurando el tamaño simulado del controlador de vista en forma libre y luego configurando el ancho de 375 a 320.
Tuve el mismo problema, esto es lo que hice para solucionarlo:
Expanda la información del error y haga clic en el detalle de advertencia. Xcode debería abrir automáticamente la configuración de dimensión / posición. Reemplace el valor actual con el valor sugerido en los detalles de advertencia.
Básicamente, asegúrese de que el tamaño en su tiempo de ejecución sea el mismo que ha especificado en el inspector de tamaño.
También puede hacer clic en el ícono al lado de la imagen que publicó (el triángulo amarillo con un círculo blanco. A veces, es un ícono de círculo rojo), entonces habrá opciones para corregir / ajustar automáticamente los problemas.
Elegí la opción de restricciones de actualización y luego ajusté las nuevas restricciones en consecuencia.