Imagine un UILabel, que tiene 200 píxeles de ancho y 50 píxeles de alto. La etiqueta tiene texto dentro y la etiqueta hace que el texto sea más pequeño para que encaje en la etiqueta. Pero ahora, ¿cómo obtendrías el tamaño de ese UIFont cómo es visible en la etiqueta? Imaginemos que el tamaño de fuente fue dado con 100 enormes, y la etiqueta lo reduce a 15. Y luego, quiere hacer algunas otras etiquetas con poco texto, que tiene el mismo tamaño de letra. ¿Hay alguna manera de obtener el tamaño de letra de UIFont después de ser exprimido por la etiqueta?¿Cómo calcular el tamaño de un UIFont cuando el texto de la etiqueta está restringido para ajustarse al ancho?
6
A
Respuesta
15
Si pasa el tamaño de la UILabel y la breakMode, etc., para:
CGSize size = [label.text sizeWithFont:label.font minFontSize:10 actualFontSize:&actualFontSize forWidth:200 lineBreakMode:UILineBreakModeTailTruncation];
actualFontSize debe ser lo que usted está buscando.
ACTUALIZACIÓN:
Lo anterior ha quedado en desuso. El método a utilizar ahora es:
- (CGRect)textRectForBounds:(CGRect)bounds
limitedToNumberOfLines:(NSInteger)numberOfLines
He aquí un ejemplo
CGSize size = [label textRectForBounds:label.bounds
limitedToNumberOfLines:1].size;
Cuestiones relacionadas
- 1. Calcular el tamaño necesario para un TLabel
- 2. ¿Cambia el tamaño del texto de una etiqueta cuando el texto es más largo que el tamaño de la etiqueta?
- 3. css - reducir un div principal para ajustarse al ancho de un niño y limitar el ancho del otro
- 4. ¿Cómo calcular el ancho de una cadena de texto de una fuente específica y tamaño de fuente?
- 5. Calcular el tamaño del texto de acuerdo con el ancho del área de texto
- 6. ¿Cómo calcular el ancho de la fuente?
- 7. con una dimensión de texto en tamaño para ajustarse al contenedor
- 8. Calcular el ancho del texto con PHP GD
- 9. Anime un cambio en el tamaño de UIFont
- 10. ¿Cómo evitar que el tamaño de UIView cambie de tamaño para ajustarse a la altura de ScrollView (el aumento de tamaño está deshabilitado)?
- 11. ¿Cómo calcular el ancho de la barra de desplazamiento?
- 12. Cambiando solo el tamaño de un UIFont en un UIButton
- 13. ¿Cómo ejecutar el algoritmo de descenso de gradiente cuando el espacio de parámetro está restringido?
- 14. Calcular con precisión el ancho del texto en unidades métricas
- 15. Escala dinámicamente imágenes para ajustarse a un ancho y altura de tamaño especificado
- 16. Determinar el tamaño de etiqueta en función de la cantidad de texto y el tamaño de fuente en Winforms/C#
- 17. ImageMagick - Cambiar el tamaño al ancho máximo
- 18. Cambiar el tamaño del texto de la etiqueta en el código
- 19. ¿Cómo calcular el ancho de un elemento HTML de entrada para que coincida con el tamaño de su contenido?
- 20. Cómo forzar la actualización/cambio de tamaño del diseño cuando el niño maneja el tamaño?
- 21. ¿El tamaño de una matriz está restringido por el límite superior de int (2147483647)?
- 22. Cómo saber el tamaño de un texto al utilizar Canvas.drawText()
- 23. cambiar el tamaño del texto (tamaño de fuente) al cambiar el tamaño de la ventana?
- 24. ¿Cómo calcular el ancho de la cuerda en iText?
- 25. UITableViewCell borra el fondo de la etiqueta cuando está resaltada
- 26. ¿Cómo puedo controlar el ancho de una etiqueta de etiqueta?
- 27. averiguar si el texto de JLabel supera el tamaño de etiqueta
- 28. ¿Cómo cambiar el tamaño de la etiqueta de img adecuada?
- 29. cómo establecer el ancho del texto de la etiqueta de anclaje usando css?
- 30. ¿Cómo calcular el ancho de UILabel en función de la longitud del texto?
Así actualFontSize habría una CGSize la que me pase por referencia a ese método? –
Sí. En C y Obj C, una función está restringida en cómo puede devolver valores. Los argumentos que pasa a una función se evalúan y su valor se inserta en la pila, antes de llamar a la función. La función solo obtiene esos valores y no puede transmitir un valor de retorno en ellos. A menos que lo que se empuje sea un puntero, en cuyo caso la función puede usar un puntero para escribir en su dirección y modificarla. Estoy simplificando demasiado - aquí el valor actual de FontSize es uno de los valores devueltos de la función (método). – mahboudz
Esto está en desuso en iOS7. ¿Hay un reemplazo iOS8? –