How to calculate the height of the text rectangle from an NSString?

Posted by mystify on Stack Overflow See other posts from Stack Overflow or by mystify
Published on 2010-04-23T11:32:22Z Indexed on 2010/04/23 11:33 UTC
Read the original article Hit count: 284

Filed under:

I know there is this one:

sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

But since the CGSize always has the same height and doesn't adjust to any shrinked text or whatsoever, the CGSize is not telling how heigh the text is.

Example: Make a UILabel with 320 x 55 points and put a loooooooooooooong text in there. Let the label shrink the text down. Surprise: CGSize.height remains the same height even if the text is so tiny that you need a microscope.

Ok so after banging my head against my macbook pro which is half way broken now, the only think that can help is that nasty actualFontSize. But the font size is in pica I think, it's not really what you get on the screen, isn't it?

When that font size is 10, is my text really 10 points heigh at maximum? Once in a while I tried exactly that, and as soon as the text had a y or some character that extends to below (like that tail of an y does), it is out of bounds and the whole text is bigger than 10 points.

So how would you calculate the real text height for a single line uilabel without getting a long beard and some hospital experience?

© Stack Overflow or respective owner

Related posts about iphone