我有一个带有标题和图像的 UIButton。按钮的大小会动态变化,但按钮内的标题文本和图像不会按比例调整大小以匹配按钮的大小。我想确保标题和图像都根据按钮的框架自动调整其大小,以保持平衡的外观。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
}
模拟器上的
我为 UIButton 设置了标题和图像,希望它们能够在按钮的框架发生变化时自动调整大小。但是,标题和图像保持相同的大小,不随按钮按比例缩放。我希望两者都能动态调整以适应按钮的新尺寸,但这并没有发生。
这是一个简单的解决方案,可确保 UIButton 的标题和图像根据按钮的框架动态调整大小:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
myBtn.imageView?.contentMode = .scaleAspectFit
myBtn.titleLabel?.adjustsFontSizeToFitWidth = true
myBtn.titleLabel?.minimumScaleFactor = 0.5
myBtn.contentEdgeInsets = UIEdgeInsets(top: 5, left: 10, bottom: 5, right: 10)
myBtn.titleEdgeInsets = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 0)
myBtn.imageEdgeInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
}
}
说明:
这种方法可确保标题和图像随着按钮大小的变化而动态调整。