cocoa - UIKit's [NSString sizeWithFont:constrainedToSize:] in AppKit -
is there equivalent method in appkit (for cocoa on mac os x) same thing uikit's [nsstring sizewithfont:constrainedtosize:]
?
if not, how go getting amount of space needed render particular string constrained width/height?
update: below snippet of code i'm using expect produce results i'm after.
nsdictionary *attributes = [nsdictionary dictionarywithobjectsandkeys: [nsfont systemfontofsize: [nsfont smallsystemfontsize]], nsfontattributename, [nsparagraphstyle defaultparagraphstyle], nsparagraphstyleattributename, nil]; nssize size = nsmakesize(200.0, maxfloat); nsrect bounds; bounds = [@"this really really really long string won't fit on 1 line" boundingrectwithsize: size options: nsstringdrawingusesfontleading attributes: attributes]; nslog(@"height: %02f, width: %02f", bounds.size.height, bounds.size.width);
i expect output width 200 , height greater height of single line, produces:
height: 14.000000, width: 466.619141
thanks!
edit: should able things normal way in lion , later. problems described below have been fixed.
there no way accurately measure text among current mac os x apis.
there several apis promise work don't. that's 1 of them; core text's function purpose another. methods return results close wrong; return results seem mean nothing @ all. haven't filed bugs on these yet, when do, i'll edit radar numbers answer. should file bug well, , include code in small sample project.
[apparently have already filed core text one: 8666756. it's closed duplicate of unspecified other bug. cocoa, filed 9022238 method dave suggested, , file 2 nslayoutmanager bugs tomorrow.]
Comments
Post a Comment