NSString 文本像素长度

Posted

技术标签:

【中文标题】NSString 文本像素长度【英文标题】:NSString text pixel length 【发布时间】:2009-09-05 22:04:12 【问题描述】:

如何知道我的文本在 UILabel 中占用了多少像素? 我想在文本之间插入一张小图片。 可以用于调整我的标签宽度。

【问题讨论】:

在 AppKit 中测量文本时,没有像素之类的东西。弦测量法以分数为单位给出答案。一点是 1/72 英寸。目前,这些数字实际上是像素,因为窗口的缩放因子始终为 1。总有一天,这会改变:缩放因子将反映屏幕的分辨率,而字符串测量值将按预期以点为单位。 Quartz Debug 让你改变比例因子;你可以用它来确保你为那一天做好了准备。 但它确实给了我调整标签大小并将图像视图放在它后面所需的距离?! 【参考方案1】:

UIKit 在 NSString 中添加了一些方法,可以为您提供要绘制的字符串的尺寸。完整参考是here。你关心的方法大概有这些:

sizeWithFont: sizeWithFont:constrainedToSize: sizeWithFont:constrainedToSize:lineBreakMode: sizeWithFont:forWidth:lineBreakMode: sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

【讨论】:

【参考方案2】:

-[NSString sizeWithFont:]NSString(UIStringDrawing) 的一部分。

【讨论】:

【参考方案3】:

看看这个帖子Pixel Width of the text in a UILabel

【讨论】:

以上是关于NSString 文本像素长度的主要内容,如果未能解决你的问题,请参考以下文章

如何将 NSString 截断为设定的长度?

NSString学习

在 NSString 中,长度是属性还是函数?

在啥情况下 [NSEvent characters] 可以是长度大于 1 的 NSString?

递归搜寻NSString中重复的文本

如何按NSString长度对NSMutableArray进行排序?