Swift 如何根据文本长度设置按钮宽度?

Swift 如何根据文本长度设置按钮宽度?,swift,Swift,我想找到一种方法,如何根据文本大小计算按钮宽度?由于我使用本地化进行翻译,因此基于不同的语言,按钮文本会发生变化,其中一些不适合按钮大小。如果使用autolayout 这很容易。您只需要确保指定x坐标的约束(如前导空间resp)。尾随空格、宽度的优先级也低于水平内容压缩阻力优先级的值 如果您手动执行此操作 您可以使用以下公式计算文本的大小: guard let buttonFont = button.titleLabel?.font else { return } let buttonText

我想找到一种方法,如何根据文本大小计算按钮宽度?由于我使用本地化进行翻译,因此基于不同的语言,按钮文本会发生变化,其中一些不适合按钮大小。

如果使用autolayout 这很容易。您只需要确保指定x坐标的约束(如前导空间resp)。尾随空格、宽度的优先级也低于水平内容压缩阻力优先级的值

如果您手动执行此操作 您可以使用以下公式计算文本的大小:

guard let buttonFont = button.titleLabel?.font else { return }
let buttonText = "click me"
let size = t.size(withAttributes:[.font: buttonFont])
然后设置按钮的边框大小:

button.frame.size = size

您是否使用autolayout?实际上我不使用autolayout,因此这没有帮助,但thx仍然: