Pergunta

Eu preciso para medir a largura de pixel de uma corda em Cocoa Touch. Pode apontar alguém me a um link que explica como fazer isso?

Foi útil?

Solução

No iPhone OS é um pouco diferente, em vez olhar para o NSString UIKit adições Referência . A ideia é a mesma que em Cocoa para Mac OS X, mas existem métodos mais.

Para linhas individuais de utilização de texto:

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

E para textos de várias linhas usar:

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

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

Outras dicas

Dê uma olhada no NSString Kit Aplicação Adições Referência , especificamente boundingRectWithSize:options:attributes: . O valor retornado por essa rotina deve dar-lhe a largura do seu NSString.

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

 sizeWithFont:constrainedToSize:lineBreakMode 

é obsoleto agora. Use abaixo trecho de código,

UIFont *font=[UIFont fontWithName:@"Arial" size:16.f];

NSString *name = @"APPLE";

CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top