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/