我需要在Cocoa Touch中测量字符串的像素宽度。有没有人能给我指个链接,解释如何做到这一点?
发布于 2009-09-17 06:27:19
在iPhone操作系统上,这一点略有不同,而不是看看NSString UIKit Additions Reference。其思想与Mac中的Cocoa相同,但方法更多。
对于单行文本使用:
- (CGSize)sizeWithFont:(UIFont *)font
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode
对于多行文本,请使用:
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode
使用UILineBreakMode
作为单行文本的参数可能会让人感到困惑,但这是因为换行符还用于定义如何截断文本。
发布于 2009-09-16 21:33:56
看看NSString Application Kit Additions Reference,特别是boundingRectWithSize:options:attributes:
。该例程返回的值应该是NSString
的宽度。
发布于 2015-09-28 12:15:42
上述解决方案现已弃用。为iOS 7+检查此选项
sizeWithFont:constrainedToSize:lineBreakMode
现在已被弃用。使用下面的代码片段,
UIFont *font=[UIFont fontWithName:@"Arial" size:16.f];
NSString *name = @"APPLE";
CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];
https://stackoverflow.com/questions/1435544
复制相似问题