我正在创建一个示例应用程序,其中在UIButton
和image
上也有一些文本,因为{{1}中的image
和text
是{{1} }。我使用subView
,UIButton
之类的不同设备运行,结果与我的预期不符,因为如果使用屏幕小于iPhone 5
的设备运行,则文本将浮在按钮外
到目前为止我做了什么:
iPhone X
我搜索了一些资源,他们让我应用了以下功能:
iPhone X
以上三个功能都不起作用
这是整个代码:
lazy var myLabelButton: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "titleName"
label.textColor = .white
label.font = UIFont(name: "SFCompactText-Regular", size: 14)
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5
label.sizeToFit()
return label
}()
有什么解决办法吗?
答案 0 :(得分:0)
尝试在按钮本身而不是标签上使用sizeToFit()。
例如
button.setTitle("Hello world", for: .normal)
button.sizeToFit()
答案 1 :(得分:0)
您在这里,我有解决方法
let label = UILabel()
label.numberOfLines = 0
label.textColor = .white
let button = UIButton()
button.backgroundColor = .blue
view.addSubview(button)
button.addSubview(label)
label.text = Array(repeating: "Hello", count: 100).joined()
button.translatesAutoresizingMaskIntoConstraints = false
label.translatesAutoresizingMaskIntoConstraints = false
// button constraint
NSLayoutConstraint.activate([
view.leadingAnchor.constraint(equalTo: button.leadingAnchor),
view.trailingAnchor.constraint(equalTo: button.trailingAnchor),
view.centerYAnchor.constraint(equalTo: button.centerYAnchor)
])
// label constaint
NSLayoutConstraint.activate([
button.leadingAnchor.constraint(equalTo: label.leadingAnchor),
button.trailingAnchor.constraint(equalTo: label.trailingAnchor),
button.topAnchor.constraint(equalTo: label.topAnchor),
button.bottomAnchor.constraint(equalTo: label.bottomAnchor)
])