swift - 如何根据文本长度制作按钮宽度?
问题描述
我想找到一种方法,如何根据文本大小计算按钮宽度?由于我使用 localize 进行翻译,因此根据不同的语言,按钮文本会发生变化,其中一些不适合按钮大小。
解决方案
如果您使用自动布局
这很容易。您只需要确保指定 x 坐标的约束(如leading space
resp. trailing space
,also width
)的优先级低于 Horizontal 的值content compression resistance priority
。
如果您手动执行
您可以使用以下方法计算文本的大小:
guard let buttonFont = button.titleLabel?.font else { return }
let buttonText = "click me"
let size = t.size(withAttributes:[.font: buttonFont])
然后设置按钮的框架大小:
button.frame.size = size
推荐阅读
- java - Android 的 Activity 类实现的哪一种方法不是模板方法?
- mysql - How to do if else condition in laravel when else case is need to skip
- usb - Is there any way we can change the default baud rate of FT230X devices in ubuntu 20.04 system?
- c# - Google Custom Search results based on custom filtering based on URL
- python - 在添加到 df 之前检查 csv 列?
- android - Calender is not getting displayed when click on ediitext
- ios - Disable banner in push notifications in Swift
- r - 在 R Markdown 中指定 CSL 时无法编译
- python - Is there a way to write an if statement to catch an input and automatically enter a string?
- javascript - Match word only in codemirror simplemode