CocoaTouchで文字列のピクセル幅を測定する必要があります。誰かがこれを行う方法を説明するリンクを私に指摘できますか?
質問する
21162 次
3 に答える
27
iPhone OSでは少し異なりますが、代わりにNSString UIKitAdditionsReferenceを参照してください。考え方はMacOSX用のCocoaと同じですが、もっと多くの方法があります。
1行のテキストの場合:
- (CGSize)sizeWithFont:(UIFont *)font
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode
また、複数行のテキストの場合は、次を使用します。
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode
1行のテキストの引数としてaを使用するUILineBreakMode
と混乱する可能性がありますが、これは、改行がテキストの切り捨て方法を定義するためにも使用されるためです。
于 2009-09-17T06:27:19.247 に答える
5
特に、NSString Application KitAdditionsReferenceboundingRectWithSize:options:attributes:
をご覧ください。そのルーチンによって返される値は、あなたのの幅を与えるはずですNSString
。
于 2009-09-16T21:33:56.173 に答える
0
上記のソリューションは非推奨になりました。iOS7以降の場合はこれを確認してください
sizeWithFont:constrainedToSize:lineBreakMode
現在非推奨です。以下のコードスニペットを使用してください。
UIFont *font=[UIFont fontWithName:@"Arial" size:16.f];
NSString *name = @"APPLE";
CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];
于 2015-09-28T04:15:42.470 に答える