Pixel Width of the text in a UILabel

NSString has a sizeWithAttributes: method that can be used for this. It returns a CGSize structure, so you could do something similar to the following to find the width of the text inside your label.

iOS 7 and higher

CGSize textSize = [[label text] sizeWithAttributes:@{NSFontAttributeName:[label font]}];

CGFloat strikeWidth = textSize.width;

iOS <7

Prior to iOS7, you had to use the sizeWithFont: method.

CGSize textSize = [[label text] sizeWithFont:[label font]];

CGFloat strikeWidth = textSize.width;

UILabel has a font property that you can use to dynamically get the font details for your label as i’m doing above.

Hope this helps 🙂

Leave a Comment