在当前使用 iOS 7 时,我试图增加 UIButton 的 titleLabel 的字体大小。我正在这样做,
[[_centerButton titleLabel] setFont:[UIFont boldSystemFontOfSize:28.0]];
然而,这并没有做任何事情。每次我用不同的大小编译时,字体总是保持不变。即使我完全删除该行,字体也保持不变。显然它坚持默认大小。
如何增加 UIButton 标题的字体大小?
在当前使用 iOS 7 时,我试图增加 UIButton 的 titleLabel 的字体大小。我正在这样做,
[[_centerButton titleLabel] setFont:[UIFont boldSystemFontOfSize:28.0]];
然而,这并没有做任何事情。每次我用不同的大小编译时,字体总是保持不变。即使我完全删除该行,字体也保持不变。显然它坚持默认大小。
如何增加 UIButton 标题的字体大小?
在https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/instp/UIButton/titleLabel上查看官方 UIButton 类参考
它说您实际上可以使用您的方法设置字体:
button.titleLabel.font = [UIFont systemFontOfSize: 12];
Well I had the same problem, have you used interface builder? after I set the title property to Plain, it's working, very very weird.
你在使用故事板吗?如果是这样,当您单击 UIButton 时,您可以在属性检查器中看到一个名为 Font 的属性。默认情况下,它显示为“自定义”(显示为空白)。单击 T 符号并选择系统。然后你可以选择字体大小。
希望能帮助到你。
有点晚了……titleLabel 的一些属性在 setTitle() 之后被重置。关联
如果您尝试使用UIButton.configuration
iOS 15 中的新功能执行此操作,则更改titlelabel?.font
将不起作用,因为该configuration
字段将使用系统样式覆盖它,因为您现在需要设置configuration?.title = "some title"
.
您需要创建一个AttributedString
并设置configuration?.attributedTitle = yourAttributedString
我的整个应用程序是程序化的,所以这里是我创建的自定义按钮“红色药丸”样式按钮的示例,它使用方便的 init 动态设置按钮标题。
class APButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
configure()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
convenience init(title: String) {
self.init(frame: .zero)
setDynamicTitle(title: title)
}
private func configure() {
configuration = .filled()
configuration?.cornerStyle = .capsule
configuration?.baseBackgroundColor = .red
configuration?.baseForegroundColor = .white
translatesAutoresizingMaskIntoConstraints = false
}
private func setDynamicTitle(title: String) {
let font = UIFont.systemFont(ofSize: 20)
let container = AttributeContainer([NSAttributedString.Key.font: font])
let attribString = AttributedString(title, attributes: container)
configuration?.attributedTitle = attribString
}
}
在你的情况下,问题在于你没有设置UIControlStateNormal
which 应该得到特定的fontSize
.
我通常创建一个 type 类UIButton
并设置fontSize
inside awakeFromNib
。看看这个帖子。