Medindo a largura de pixels de uma string

Eu preciso medir a largura do pixel de uma string no Cocoa Touch. Alguém pode me apontar para um link que explica como fazer isso?

No iPhone OS é um pouco diferente, em vez disso, olhe para o NSString UIKit Additions Reference . A ideia é a mesma de Cocoa para Mac OS X, mas existem mais methods.

Para linhas simples de uso de texto:

- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode 

E para textos multilinha use:

 - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode 

O uso de um UILineBreakMode como argumento para linhas únicas de texto pode ser confuso, mas isso ocorre porque a quebra de linha também é usada para definir como truncar o texto.

Dê uma olhada no NSString Application Kit Additions Reference , especificamente boundingRectWithSize:options:attributes: O valor retornado por essa rotina deve fornecer a largura do seu NSString .

A solução acima é agora obsoleta. Verifique isso para o iOS 7 ou superior

  sizeWithFont:constrainedToSize:lineBreakMode 

está obsoleto agora. Use abaixo o trecho de código,

 UIFont *font=[UIFont fontWithName:@"Arial" size:16.f]; NSString *name = @"APPLE"; CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];