【发布时间】:2020-12-09 02:35:50
【问题描述】:
如何在给定字体名称和字体大小的情况下找到字符串的宽度 (CGFloat)?
(目标是将 UIView 的宽度设置为刚好足以容纳字符串。)
我有两个字符串:一个带有“1”重复 36 次,另一个带有“M”重复 36 次。它们都填充了屏幕的宽度 (359.0)(留出一点边距)。
我使用的是等宽的 Courier 16,所以我希望两个字符串的宽度相等(因为它们确实出现在屏幕上)。
但是,使用 https://stackoverflow.com/a/58782429/8635708 :
- 带“1”的字符串宽度为257.34375
- 带“M”的字符串的宽度为 492.1875。
- 第一个是没有填满屏幕,另一个是太长了。
并使用https://stackoverflow.com/a/58795998/8635708:
- 每个字符串的宽度为 249.640625。
- 至少在这里,它们是相同的,但那个值显然没有填满屏幕。
【问题讨论】: