iphone - 计算给定宽度和字体大小的行数

标签 iphone ios objective-c xcode ios6

先说说我的需求,

我将 strings 存储在一个字符串变量中,比如 str,

NSString *str=@"multiple strings";

接下来我想指定上述字符串的宽度,比如 width=350 和 fontsize=16;现在我怎么知道在给定的宽度 = 350 和字体大小 = 15 的情况下文本将占用多少行。(我的意思是行数)

最佳答案

您可以使用 UIStringDrawing.h 中的方法之一找到绘制字符串所需的大小(以及高度)。当绘制到 350px 的约束宽度时,此方法将为您提供尺寸:

CGSize maximumSize = CGSizeMake(350, CGFLOAT_MAX);
UIFont *font = [UIFont systemFontOfSize:16];
CGSize size = [str sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];

在此示例中,maximumSize 使用 CGFloat 的最大可能高度(有效无穷大)和 350 像素的宽度。这实际上意味着“通过将宽度限制为 350 像素来给我文本的大小”。

关于iphone - 计算给定宽度和字体大小的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229365/

相关文章:

iphone - iPhone 的 XCode 宏

ios - UITouch 类缺少初始化函数

ios - 在 Swift 中显示日历日期

ios - 具有 Image SubView 性能问题的 TableView

iphone - 出于测试目的在应用程序中设置 iPhone 日期/时间?

Iphone模拟器4.0主页按钮不会停止xcode调试器

iphone - 比较网络上的字符串

iphone - 分配 - 添加为附件 View - 发布 : does it leak?

iphone - 如何使用 NSFileManager 删除目录及其内容

iphone - 在哪里存储核心数据文件?