2010-01-11 14 views
6

Necesito averiguar la longitud de píxeles de un NSString en Cocoa en OSX y he encontrado un par de enlaces que describen cómo hacerlo usando el SDK de IPhone, pero No vi nada sobre cómo hacer esto cuando no estoy apuntando al iPhone. ¿Alguien puede vincularme a algunos documentos que serían relevantes? Encontré algo en los documentos de NSString.Determinación de la longitud de píxel de una cadena en Cocoa (MAC OSX)

+2

No piense en los píxeles: son un artefacto de un dispositivo. A menos que esté hablando directamente con un dispositivo o trabajando directamente con un búfer ráster ("mapa de bits"), no está trabajando con píxeles. Las operaciones vectoriales, incluida la medición y el diseño de cadenas, funcionan con unidades de espacio de usuario: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Transforms/Transforms.html#//apple_ref/doc/uid/TP40003290-CH204-SW5 –

Respuesta

7
+3

como nota al margen: la razón por la que no pudo encontrarlo en los documentos de NSString es que depende de varias cosas en AppKit, por lo que pertenece a una categoría separada. – cobbal

4

Aquí es lo que yo uso para obtener el tamaño de una cadena ...

NSSize size = [@"Some text" sizeWithAttributes:[NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Helvetica Neue Bold" size:24.0f] forKey:NSFontAttributeName]]; 

NOTA: Si va a añadir la cadena en un campo de texto, he encontrado que necesita agregar aproximadamente 10 a size.width para que encaje.

Cuestiones relacionadas