Tamaño mínimo de fuente en desuso en ios versión 6.0


92

Acabo de actualizar a xcode 4.5 con iOS 6.0 y está resaltando una advertencia en todos los UILabels en mis archivos XIB que dice "tamaño de fuente mínimo obsoleto en la versión 6.0 de iOS". ¿Alguien sabe a qué se refiere esto y cómo solucionarlo?

Actualización: la imagen ya no está disponible (estaba en https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: todos los desarrolladores de iOS recibieron ese correo electrónico. Lea la exención de responsabilidad en la parte inferior: "Software previo al lanzamiento ..."
Rok Jarc

7
Cambie "Tamaño de fuente mínimo" en la sección Autocontracción a "Escala de fuente mínima". : p Simplemente tuve el mismo problema y vine directamente aquí asumiendo que las fuentes no violarían el NDA. Parece que las fuentes sufrieron algunos cambios en la actualización.
erran

18
Subí esta pregunta porque no se cerró correctamente. Al menos el motivo del cierre es incorrecto incorrecto incorrecto. "sólo es relevante para un área geográfica pequeña" no. Se aplica a todos los desarrolladores de iOS. "Situación extraordinariamente estrecha que no es generalmente aplicable a la audiencia mundial de Internet" no. Se aplica a todo el mundo. "Es poco probable que esta pregunta ayude a futuros visitantes", no. Fue increíblemente útil para mí y probablemente sea igualmente útil para cualquier desarrollador de iOS. Entiendo el problema del NDA, pero tan pronto como se levante el NDA, esta pregunta se mantendrá.
Jean-Denis Muys

9
Amigos, la primera vez que arreglé esto, lo hice manualmente y fue un tipo especial de tortura. Luego tuve que fusionar algunos cambios y gracias a la versión beta de Xcode me dio emacs como mi herramienta de fusión, así que lo abandoné y tomé la versión más nueva del archivo sabiendo que los estaría tirando, pero luego rehice estos cambios usando TextWrangler: los archivos son xml. Simplemente reemplace: autoshrinkMode = "minimumFontSize" con autoshrinkMode = "minimumFontScale" y reemplace minimumFontSize = "10" con minimumFontScale = "0.5". Voila.
Rob

1
@LittleBobbyTables: Sin embargo, sería genial si la gente pudiera preguntar amablemente . Lloriquear enojado y titulado como el comentario de matheszabi es una excelente manera de convencerme de que no vuelva a abrir una pregunta.
CA McCann

Respuestas:


47

minimumFontSizeLa propiedad de UILabelestá obsoleta desde iOS 6.0 en adelante.

Una alternativa al minimumFontSizeis minimumScaleFactor. Si asigna minimumFontSize/defaultFontSizea minimumScaleFactor, funciona de la misma manera que minimumFontSize.

El código es el siguiente: por ejemplo, el tamaño de fuente es 30.0 y si desea que el tamaño de fuente mínimo sea 12.0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];


8

Solución rápida ... Aquí el tamaño de fuente mínimo es 8.0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

5

Estoy respondiendo muy tarde, pero podría ayudar a cualquier otro. Como todo el mundo sabe que setMinimumFontSizeha quedado obsoleto, otro método de sustitución setMinimumFontSizees el setAdjustFontToFitWidthque lleva, BOOL por ejemplo,

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

3

Tuve un problema similar. La solución rápida es utilizar la propiedad MínimoScaleFactor de UILabel.


3

Para Swift use lo siguiente:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`

¡Funciona de maravilla!


1

Vaya al buscador y busque el .storyboardarchivo o el suyo .xiby ábralo con TextEdit. Use buscar para ubicar la cadena "autoshrinkMode"y reemplace el valor "minimumFontSize"por"minimumFontScale"

Es extraño que la conversión no esté escrita en los scripts de actualización ...

También crédito a @Rob en los comentarios anteriores por dar la misma respuesta. Debería recibir crédito por este.


no hay autoshrinkMode en mi archivo de guión gráfico.
Timuçin

Gracias, esto me funciona perfectamente. @Tim solo tienes que seleccionar el UILabel, y marcar la opción "etiqueta" en el panel de utilidades derecho, y marcar las opciones, verás una llamada "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd

0

Puede usar el factor de escala mínimo allí o arrastrar una etiqueta y establecer autoshrik-> fuente mínima.

Tal vez esto pueda ayudarle.


0

minumumFontSizeestá en desuso.

Utilice lo siguiente minimumScaleFactor::

Obj.minimumScaleFactor= (floatValue);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.