iphone - 使用 sizeWithFont 始终获得相同的高度 :minFontSize:actualFontSize:forWidth:lineBreakMode:

标签 iphone objective-c uikit nsstring

sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode: 返回的 CGSize 始终包含相同的高度。为什么会这样,有没有办法解决这个问题?

我想垂直对齐字符串,并且它可能不会被截断,除非它无法使用最小字体大小放在一行上。所以我尝试使用这个方法来获取行高,但无论实际的FontSize是多少,它总是返回57px。

有什么想法吗?

最佳答案

一旦您拥有actualFontSize来自sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

然后您可以使用以下方法计算渲染所需的高度:

CGFloat actualHeight = [font fontWithSize:actualFontSize].ascender-[font fontWithSize:actualFontSize].descender;

(我发现 this 页面对于理解与字体相关的各种大小值很有用。)

关于iphone - 使用 sizeWithFont 始终获得相同的高度 :minFontSize:actualFontSize:forWidth:lineBreakMode:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640558/

相关文章:

iPhone:如何知道屏幕上是否有事件的 UIKeyboard?

iphone - 如果应用程序处于审核状态超过 1 周,它将被拒绝。这是真的?

ios - Objective-C 索引数组

iphone - iOS:MFMailComposeViewController 不适用于模型

ios - UI 上的 Xamarin.iOS 手指绘画

iphone - 每天下午 5 点重复 UILocalNotification

iphone - 在图像 1、2、3(而不是图像 1,3)之间翻转(iPhone SDK)

iphone - 如何在 iphone 中暂停和恢复 NSTimer

iphone - 如何在 iOS 中收到横幅通知?

uiimage - 如何在视网膜显示上不损失质量的情况下将 UIView 捕获到 UIImage