我需要测量 Cocoa Touch 中字符串的像素宽度。谁能给我指出一个解释如何做到这一点的链接?
问问题
21162 次
3 回答
27
在 iPhone OS 上略有不同,请查看NSString UIKit Additions Reference。这个想法与 Cocoa for Mac OS X 中的想法相同,但方法更多。
对于单行文本使用:
- (CGSize)sizeWithFont:(UIFont *)font
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode
对于多行文本,请使用:
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode
UILineBreakMode
对单行文本使用as 参数可能会造成混淆,但这是因为换行符也用于定义如何截断文本。
于 2009-09-17T06:27:19.247 回答
5
看看NSString Application Kit Additions Reference,特别是boundingRectWithSize:options:attributes:
。该例程返回的值应该为您提供NSString
.
于 2009-09-16T21:33:56.173 回答
0
上述解决方案现已弃用。为 iOS 7+ 检查这个
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 回答