首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >测量字符串的像素宽度

测量字符串的像素宽度
EN

Stack Overflow用户
提问于 2009-09-16 21:22:17
回答 3查看 21.2K关注 0票数 17

我需要在Cocoa Touch中测量字符串的像素宽度。有没有人能给我指个链接,解释如何做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-17 06:27:19

在iPhone操作系统上,这一点略有不同,而不是看看NSString UIKit Additions Reference。其思想与Mac中的Cocoa相同,但方法更多。

对于单行文本使用:

代码语言:javascript
复制
- (CGSize)sizeWithFont:(UIFont *)font 
              forWidth:(CGFloat)width 
         lineBreakMode:(UILineBreakMode)lineBreakMode

对于多行文本,请使用:

代码语言:javascript
复制
- (CGSize)sizeWithFont:(UIFont *)font 
     constrainedToSize:(CGSize)size 
         lineBreakMode:(UILineBreakMode)lineBreakMode

使用UILineBreakMode作为单行文本的参数可能会让人感到困惑,但这是因为换行符还用于定义如何截断文本。

票数 27
EN

Stack Overflow用户

发布于 2009-09-16 21:33:56

看看NSString Application Kit Additions Reference,特别是boundingRectWithSize:options:attributes:。该例程返回的值应该是NSString的宽度。

票数 5
EN

Stack Overflow用户

发布于 2015-09-28 12:15:42

上述解决方案现已弃用。为iOS 7+检查此选项

代码语言:javascript
复制
 sizeWithFont:constrainedToSize:lineBreakMode 

现在已被弃用。使用下面的代码片段,

代码语言:javascript
复制
UIFont *font=[UIFont fontWithName:@"Arial" size:16.f];

NSString *name = @"APPLE";

CGSize size = [name sizeWithAttributes:@{NSFontAttributeName:font}];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1435544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档