2009-02-03 9 views

Respuesta

16

que he encontrado NSStringFrom *() útiles al iniciar la sesión como estructuras CGRect, CGPoint, etc.

se puede encontrar una descripción general completa al Foundation Functions Reference (enlace Wayback Machine) de Apple.

+0

Oh hombre ... Me habían recreado varias de las personas. Buena respuesta a una buena pregunta! – Felixyz

+0

El enlace ya no es válido, y no está claro qué enlace está recogiendo actualmente este contenido. – mah

4

Esto es algo que ojalá hubiera sabido hace 6 meses. Estaba creando nuestra primera aplicación de iPhone y quería crear un archivo de ayuda simple basado en HTML utilizando el UIWebView Controller.

Sin embargo, no pude averiguar cómo incrustar las imágenes locales que había almacenado en el paquete y no quería que el usuario tuviera que tener acceso a Internet para obtener las imágenes de un servidor.

Yo no sabía que podía hacer lo siguiente para obtener imágenes desde el haz principal

NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; 
NSURL *bundleBaseURL = [NSURL fileURLWithPath: bundlePath]; 

[webView loadHTMLString:htmlContent baseURL: bundleBaseURL]; 

la imagen en su HTML, entonces puede llamar directamente imágenes locales.

<img src="yourImageFromTheMainBundle.jpg" /> 

No tenía idea de que podía configurar el baseURL con la ubicación del paquete.

3

Gran parte de las cosas en NSPathUtilities.h. Lo sabía hace dos años, pero cuando lo encontré deseé haberlo visto dos años antes. :-)

En algún momento perdí bastante tiempo porque no sabía nada de NSCountedSet y me hice un desastre con mi reemplazo basado en el diccionario. Sé de varios casos en que las personas han hecho el mismo tipo de cosas porque no sabían nada sobre NSSet. Otra buena colección "oculta" es CFBinaryHeap, que implementa una cola de prioridad, pero no tiene un equivalente NS.

+0

+1 para CFBinaryHeap –

3

que recuerdo

+ (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect xRadius:(CGFloat)xRadius yRadius:(CGFloat)yRadius 

Concedido encontrar la manera de dibujar un rectángulo redondeado de forma manual es un buen ejercicio. Hay otros a los que estoy acostumbrado ahora.

-1

Este es un acceso directo en lugar de una llamada a la biblioteca que me perdí, pero está en el espíritu del hilo.

Un atajo que uso mucho está usando una declaración de formato en línea en llamadas NSLog.


NSLog(@"x=%@", [someobject className]); 

en lugar de la más prolija


NSLog([NSString stringWithFormat:@"x=%@", [someobject classname]]); 
+10

No es un atajo; esa es la única forma correcta de hacerlo. Si el resultado de stringWithFormat: (o cualquier cadena que pase a NSLog) termina conteniendo, por ejemplo, "% @", entonces NSLog intentará insertar un objeto allí, pero usted no pasó uno. Por lo tanto, se necesita un puntero de basura, un mensaje y un boom. –

+0

No merece un menos sin embargo. :-) – evdude100

3

Creación de un color de una imagen patrón de la

[UIColor colorWithPatternImage:[UIImage imageNamed:@"mypattern.png"]]; 
+0

Esto sería un buen truco porque el iPhone SDK público aún no tiene un año. Sin embargo, el equivalente de Cocoa con NSColor y NSImage siempre ha estado ahí. Gracias. – Mark

5

Función de ayuda para dibujar tres imágenes parciales con la tapa izquierda, llenar y la tapa derecha.Ideal para los botones personalizados

void NSDrawThreePartImage(NSRect frame, 
    NSImage *startCap, 
    NSImage *centerFill, 
    NSImage *endCap, 
    BOOL vertical, 
    NSCompositingOperation op, 
    CGFloat alphaFraction, 
    BOOL flipped 
); 

También busque NSDrawNinePartImage

Cuestiones relacionadas