Necesito medir el ancho de píxel de una cadena en Cocoa Touch. ¿Alguien puede indicarme un enlace que explique cómo hacer esto?Medición del ancho de píxel de una cadena
Respuesta
En el iPhone OS es un poco diferente, en su lugar mira el NSString UIKit Additions Reference. La idea es la misma que en Cocoa para Mac OS X, pero hay más métodos.
Para las líneas individuales de uso de texto:
- (CGSize)sizeWithFont:(UIFont *)font
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode
Y para los textos de varias líneas de usar:
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode
El uso de un UILineBreakMode
como argumento a favor de las líneas individuales de texto puede ser confuso, pero esto es porque el salto de línea también se usa para definir cómo truncar el texto.
Esto parece funcionar bien para las fuentes habituales, pero no parece dar los límites exactos para fuentes como Zapfino. El código de muestra está en http://paste.lisp.org/display/130803 y la captura de pantalla de salida está en http://ScrnSht.com/juixwk. ¿Alguna idea de por qué y cómo resolverlo? – trss
obsoleto en iOS7 ... los documentos no hacen referencia a ningún reemplazo ... ¿hay alguno? – abbood
Los documentos iOS7 actuales (Xcode 5.0.1) se refieren a reemplazos (que suelen ser solo iOS7). – JLundell
Eche un vistazo a NSString Application Kit Additions Reference, específicamente . El valor devuelto por esa rutina debería darle el ancho de NSString
.
La documentación no es muy clara sobre cómo usar 'boundingRectWithSize: options: attributes:'. Sería bueno si pudiera agregar un ejemplo de cómo usar realmente este método para medir una cadena con una fuente en particular. – PeyloW
La solución anterior ahora está en desuso. Compruebe esto para iOS 7+
sizeWithFont:constrainedToSize:lineBreakMode
está obsoleto ahora. Use el siguiente fragmento de código,
UIFont *font=[UIFont fontWithName:@"Arial" size:16.f];
NSString *name = @"APPLE";
CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];
- 1. vb ancho de cadena de macros en píxel
- 2. medición cadena con Graphics.MeasureString
- 3. Medición de ancho de texto en Qt
- 4. Truncar una cadena muy bien para caber dentro de un ancho de píxel determinado
- 5. Ancho de píxel y porcentaje en Proporción
- 6. Truncar texto con jQuery basado en el ancho de píxel
- 7. Medición del rendimiento del algoritmo de clasificación
- 8. Qt - Obtenga la longitud de píxel de una cadena en una QLabel
- 9. Medición del ancho del texto que se dibujará en Canvas (Android)
- 10. ¿Puedo mezclar el ancho porcentual y el ancho de píxel en mis encabezados de tabla html?
- 11. Medición del tiempo de consulta MySQL real
- 12. Medición del rendimiento de los clientes
- 13. Cobertura del código de medición en Delphi
- 14. Estadísticas del proceso de medición en Linux
- 15. Medición de latencia
- 16. texto de medición en WPF
- 17. Medición de distancias cortas
- 18. Medición del tiempo de ejecución de una función dentro del kernel de Linux
- 19. Medición del tiempo transcurrido en python
- 20. Medición de la capacidad de prueba del código de C#
- 21. Medición de velocidad a través del SDK de iPhone
- 22. Kalman Tracking - Varianza de medición
- 23. Determinación del ancho de una cadena impresa por una aplicación web
- 24. Calcular el ancho de visualización de una cadena en C#?
- 25. Calcular el ancho de visualización de una cadena en Java
- 26. Leer una imagen píxel por píxel en Ruby
- 27. KineticJS strokeEl ancho de 1 causa una línea borrosa y semiopaca en lugar de una línea nítida de 1 píxel
- 28. jQuery. Ancho del elemento según su ancho principal
- 29. ¿El tamaño de píxel de Canvas HTML5 depende del tamaño del lienzo?
- 30. Medición de distancia con la cámara del iPhone
No debe solicitar una respuesta genérica de objetivo-c cuando esta pregunta se trata realmente de funciones en Cocoa para Mac OS X o Cocoa Touch para iPhone OS. Objective-C es solo el lenguaje de programación que usan Cocoa y Cocoa Touch. – PeyloW
¿Hay algún otro uso de Object-C además de la programación para Mac OS o IOS? Si es así, ¿es significativo? –