我需要通过编程方式设置UIButton标题UILabel的字体大小。


当前回答

你可以使用:

button.titleLabel.font = [UIFont systemFontOfSize:14.0];

其他回答

检查自定义字体名称是否添加了“目标成员资格”复选框。这应该会有所帮助。

这可能会有帮助:

[objBtn.titleLabel setFont:[UIFont fontWithName:@“fontname” size:fontsize]];

迅速:

shareButton.titleLabel?.font = UIFont.systemFontOfSize(size)

重要注意事项: 删除由animuson♦12月5日14日16:48 animuson,在我发布这个答案一个月后,我现在也有同样的问题。我在谷歌上搜索,发现这篇文章不容易复制粘贴到一个快速的项目中。当我滚动看到我删除的答案,并复制它。所以请不要删除真正有用的东西。

支持UIButton中的辅助功能

extension UILabel
{
   func scaledFont(for font: UIFont) -> UIFont {
        if #available(iOS 11.0, *) {
            return UIFontMetrics.default.scaledFont(for: font)
        } else {
            return font.withSize(scaler * font.pointSize)
        }
    }
    func customFontScaleFactor(font : UIFont) {
        translatesAutoresizingMaskIntoConstraints = false

         self.adjustsFontForContentSizeCategory = true
         self.font = FontMetrics.scaledFont(for: font)
    }
}

你可以按钮字体现在。

UIButton().titleLabel?.customFontScaleFactor(font: UIFont.systemFont(ofSize: 12))
button.titleLabel.font = <whatever font you want>

对于那些想知道为什么他们的短信不显示的人,如果你这样做了

button.titleLabel.text = @"something";

它不会显示,你需要做:

[button setTitle:@"My title" forState:UIControlStateNormal]; //or whatever you want the control state to be