查找字符串的宽度快速

问题描述

如何根据给定的字体名称和字体大小找到字符串的宽度(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。
  • 至少在这里,它们是相同的,但该值显然不会填满屏幕。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)