2009-03-03 10 views
10

Ho capito come utilizzare la classe NSBezierPath per disegnare forme nella funzione drawRect della mia classe di visualizzazione personalizzata, tuttavia non riesco a capire come disegnare il testo. Il seguente codice è quello che ho finora per disegnare il testo (che si trova nella funzione drawRect):Come si disegna un testo in una vista personalizzata usando Objective-C?

NSText *text = [NSText new]; 
[text setTextColor: [NSColor yellowColor]]; 
[text setText: @"Hello!"]; 

Sto indovinando che posso avere bisogno di fornire una NSRect o NSPoint a dire l'oggetto NSText dove disegnare stesso, ma non riesco a trovare nulla nella documentazione di Cocoa su come farlo.

risposta

22

Si potrebbe provare qualcosa in queste righe:

//note we are using the convenience method, so we don't need to autorelease the object 
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSFont fontWithName:@"Helvetica" size:26], NSFontAttributeName,[NSColor blackColor], NSForegroundColorAttributeName, nil]; 

NSAttributedString * currentText=[[NSAttributedString alloc] initWithString:@"Cat" attributes: attributes]; 

NSSize attrSize = [currentText size]; 
[currentText drawAtPoint:NSMakePoint(yourX, yourY)]; 
+0

Perfetto! Grazie mille per il vostro aiuto. –

Problemi correlati