Esiste un metodo equivalente in AppKit (per Cocoa su Mac OS X) che fa la stessa cosa di UIKit [NSString sizeWithFont:constrainedToSize:]
?UIKit's [NSString sizeWithFont: constrainedToSize:] in AppKit
In caso contrario, come posso ottenere la quantità di spazio necessaria per eseguire il rendering di una stringa particolare vincolata a una larghezza/altezza?
Aggiornamento: di seguito è riportato uno snippet di codice che sto utilizzando che mi aspetto avrebbe prodotto i risultati che sto cercando.
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSFont systemFontOfSize: [NSFont smallSystemFontSize]], NSFontAttributeName,
[NSParagraphStyle defaultParagraphStyle], NSParagraphStyleAttributeName,
nil];
NSSize size = NSMakeSize(200.0, MAXFLOAT);
NSRect bounds;
bounds = [@"This is a really really really really really really really long string that won't fit on one line"
boundingRectWithSize: size
options: NSStringDrawingUsesFontLeading
attributes: attributes];
NSLog(@"height: %02f, width: %02f", bounds.size.height, bounds.size.width);
mi aspetterei che la larghezza di uscita sarebbe 200 e l'altezza sarebbe qualcosa di più grande di l'altezza di una singola linea, ma produce:
height: 14.000000, width: 466.619141
Grazie!
duplicato: http://stackoverflow.com/questions/ 2349692/cosa-il-equivalente-sizewithfont-metodo-per-il-mac. Qualcuno non cerca in questi giorni? –
Ho cercato ma, incredibilmente, non l'ho trovato. Indipendentemente da sizeWithAttributes: non supporta, afaik, limitando la larghezza. –
Questo non è un duplicato a causa dell'elemento vincolo, che manca a quell'altra domanda. –