2009-02-03 11 views

risposta

16

ho trovato NSStringFrom *() utile quando si accede struct come CGRect, CGPoint, ecc

potete trovare una panoramica completa a (link Wayback Machine) di Apple Foundation Functions Reference.

+0

Oh uomo ... Mi avevano ricreato alcuni di quelli. Buona risposta a una buona domanda! – Felixyz

+0

Il link non è più valido e non è chiaro quale collegamento stia attualmente prelevando questo contenuto. – mah

4

Questo è quello che avrei voluto sapere circa 6 mesi fa. Stavo creando la nostra prima applicazione per iPhone e volevo creare un semplice file di guida basato su HTML utilizzando il controller UIWebView.

Tuttavia non sono riuscito a capire come incorporare le immagini locali che avevo memorizzato nel pacchetto e non volevo che l'utente avesse accesso a Internet per recuperare le immagini da un server.

Non sapevo che potevo fare quanto segue per ottenere immagini dalla principale Bundle

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

[webView loadHTMLString:htmlContent baseURL: bundleBaseURL]; 

l'immagine nel formato HTML possono quindi chiamare direttamente le immagini locali.

<img src="yourImageFromTheMainBundle.jpg" /> 

Non avevo idea di poter impostare il database di base con la posizione del pacchetto.

3

Gran parte del materiale in NSPathUtilities.h. Ne ho saputo due anni fa, ma quando l'ho trovato per la prima volta ho desiderato averlo visto due anni prima. :-)

A un certo punto ho perso un bel po 'di tempo perché non sapevo di NSCountedSet e ho fatto un casino della mia sostituzione basata su dizionario. Conosco diversi casi in cui le persone hanno fatto lo stesso genere di cose perché non sapevano nulla di NSSet. Un'altra buona raccolta "nascosta" è CFBinaryHeap, che implementa una coda di priorità, ma non ha un equivalente NS.

+0

+1 per CFBinaryHeap –

3

che ricordo

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

Certo capire come disegnare un rettangolo arrotondato manualmente è un buon esercizio. Ce ne sono altri che sono così abituato a ora.

-1

Questa è una scorciatoia anziché una chiamata di libreria che mi mancava, ma è nello spirito del thread.

Un collegamento che utilizzo molto sta utilizzando un'istruzione di formato inline nelle chiamate NSLog.


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

al posto del più prolisso


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

Questa non è una scorciatoia; questo è l'unico modo corretto per farlo. Se il risultato di stringWithFormat: (o qualsiasi stringa passata a NSLog) finisce per contenere, diciamo, "% @", quindi NSLog proverà ad inserire un oggetto lì - ma non ne hai passato uno. Quindi prende un pennarello, gli manda un messaggio e fa boom. –

+0

Tuttavia non merita un segno di meno. :-) – evdude100

3

Creazione di un colore da un'immagine un pattern con

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

Questo sarebbe un trucco perfetto perché l'SDK iPhone pubblico non ha ancora nemmeno un anno. Tuttavia l'equivalente Cocoa con NSColor & NSImage è sempre stato lì. Grazie. – Mark

5

funzione di supporto per disegnare tre immagini della parte con tappo a sinistra, riempire e tappo a destra.Ideale per i pulsanti personalizzati

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

Vedi anche per NSDrawNinePartImage

Problemi correlati