ios - tutorial - storyboard apple
Xcode 9-Storyboard de advertencia de problema de localizaciĆ³n (4)
La fuente de las advertencias no deseadas es que Xcode utiliza de forma predeterminada los guiones gráficos "preparados" para la localización. Se "preparan" configurándolos utilizando la internacionalización básica .
Para deshabilitar completamente esta advertencia en un guión gráfico particular, debe informar a Xcode que el guión gráfico no debe considerarse localizable. La forma más fácil de hacerlo fue simplemente mover el archivo del guión gráfico de la carpeta Base.lproj
un nivel y volver a agregar el archivo al proyecto. Una vez que hice eso, las advertencias se fueron.
Pasos
Este proceso debería funcionar con proyectos antiguos y nuevos. Probado en Xcode 9.1 usando un proyecto creado con Xcode 9.1
- Mueva el guión gráfico de la carpeta
Base.lproj
un nivel a través de Finder - Elimina la referencia del guión gráfico de tu proyecto a través de Xcode
- Arrastre y suelte (o vuelva a agregar) el guión gráfico a su proyecto
- Verifique usando el inspector de archivos que el guión gráfico ya no tenga una localización base
Recorrido pictórico
Por defecto, Xcode tiene guiones gráficos "preparados" para la localización
Mueva los archivos de su guión gráfico fuera de la carpeta Base.lproj para evitar las advertencias
Eliminar la referencia del archivo
Vuelva a agregar el guión gráfico
Verás el botón "Localizar ..." cuando lo hayas logrado
Si quieres localizar en el futuro.
Simplemente toque el botón "Localizar ..." y siga las indicaciones de Xcode. Además, en realidad necesitarás abordar las advertencias que Xcode te está diciendo. Hay varias formas de abordarlos, recomiendo esta question para comenzar.
Para una demostración en video del proceso, mire esta grabación de pantalla.
Actualmente estoy probando Xcode 9 beta 3 en el momento de escribir este artículo.
Al ver el guión gráfico, recibo una lista de advertencias que indican que en otros idiomas / regiones mi restricción fija planteará un problema.
La aplicación es bastante compleja y muchas vistas están experimentando estas advertencias.
La advertencia es:
Certain autolayout constraint combinations may result in an appropriate layout in the current development language but will pose issues in other languages and regions.
Sé que la aplicación no se utilizará en ningún otro idioma en el corto plazo.
¿Hay alguna manera de desactivar esta advertencia? Suena tonto, pero no soporto ver todas mis vistas con el icono amarillo de advertencia y cuento en la parte superior (¡110 advertencias!)
Suponiendo que su aplicación no esté localizada, debe restaurar la configuración de Localizar en su guión gráfico. Uno de los nuestros fue configurado en inglés. Desmarque la casilla de Inglés, o lo que sea que esté configurado para usted. El guión gráfico está en una carpeta con el código de idioma, en inglés. Al desmarcar esta casilla, se eliminará del directorio del proyecto ya que la aplicación ya no está buscando la carpeta en. Encuentre el guión gráfico en la carpeta del buscador, muévalo desde la carpeta en y luego arrástrelo nuevamente al proyecto. Asegúrese de que la membresía de destino está marcada. Limpie, cierre, abra, fuerce, etc., según sea necesario, ¡y debería estar listo! ¡Tuvimos 360 advertencias en un guión gráfico, así que fue bueno resolver esto!
También puede eliminar la advertencia de problema de localización simplemente incrustando la etiqueta o el botón en una vista transparente. A continuación, elimine la restricción de ancho de la etiqueta o el botón y configúrela en esa vista de contenedor.
Al utilizar una vista de contenedor, puede silenciar la advertencia y seguir localizando el guión gráfico. A veces es necesario tener una etiqueta o un botón con un ancho fijo, incluso si el idioma va a cambiar, y si está seguro de que el ancho del arreglo es lo suficientemente grande, no debería ser un problema, pero Xcode no lo sabe, por eso recibes la advertencia ;-)
Una solución fácil: desactive Respetar la dirección del idioma para cada restricción problemática.
Consulte https://.com/a/45764271/201828 .