gpt4 book ai didi

ios - 查找字符串的宽度(快速)

转载 作者:行者123 更新时间:2023-12-01 21:26:03 25 4
gpt4 key购买 nike

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

    我认为您可以创建一个标签并调用label.sizeToFit():

    let label = UILabel()
    label.font = UIFont.init(name: "Courier", size: 16)
    label.text = "mmmmmmmmmmmmmmmm"//"1111111111111111"
    label.sizeToFit()
    print("Width: \(label.frame.size.width)") //153.66666666666666 -> For both strings

    关于ios - 查找字符串的宽度(快速),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63493518/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com