我知道我可以通过自动收缩动态地查询UIlabel的字体大小。但UI按钮没有自动收缩属性,
那么如何根据按钮的大小动态更改按钮的字体大小?
代码:
导入UIKit
类ViewController:UITableViewController {
@IBAction func myButt(_ sender: UIButton) {}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
myButt.titleLabel?.adjustsFontSizeToFitWidth = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as UITableViewCell
return cell
}
}
答案 0 :(得分:1)
UIButton标题显示在UILabel对象中。因此,您可以通过访问UIButton的titleLabel属性来设置属性。
答案 1 :(得分:0)
更具体地说:
yourUIButtonName.titleLabel?.adjustsFontSizeToFitWidth = true
将字体大小调整为按钮的宽度,调整内容插入将允许您填充文本的边缘。
但是,如果您尝试以某种方式更改字体大小 not 与按钮标签的大小成正比,则可能需要获取CGRect和必要时数学出来。
答案 2 :(得分:0)
您还必须设置minimumScaleFactor属性,该属性指定当前字体大小的最小乘数。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
myButt.titleLabel?.adjustsFontSizeToFitWidth = true
myButt.titleLabel?.minimumScaleFactor = 0.5
}