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 )

Hooman Ahmadi
fuente
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]];
Manju
fuente
19

Utilice minimumScaleFactor en su lugar ... Enlace

Aravind NC
fuente
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];
Sabareesh
fuente
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;
Syed Ali Salman
fuente
3

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

Jayprakash Dubey
fuente
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!

ColosalChris
fuente
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.

SnareChops
fuente
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.

shreeji
fuente
0

minumumFontSizeestá en desuso.

Utilice lo siguiente minimumScaleFactor::

Obj.minimumScaleFactor= (floatValue);
Gaurav
fuente