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


当前回答

通过这种方式,您可以设置fontSize并在一个类中处理它。

1. 创建了UIButton的扩展,并添加了以下代码:

- (void)awakeFromNib{

    [super awakeFromNib];

    [self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [self.titleLabel setFont:[UIFont fontWithName:@"font" 
                                     size:self.titleLabel.font.pointSize]];
    [self setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
}

2.1在代码中创建UIButton

现在如果你在你的代码中创建了一个UIButton, #import extension of yourUIButton '并创建按钮。

2.2在界面生成器中创建按钮

如果你在界面构建器中创建了UIButton,选择UIButton,转到标识检查器,并为UIButton添加创建的扩展类。

其他回答

支持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))

【按钮setFont:……已被弃用。

使用[按钮。titleLabel setFont:…而是,例如:

[myButton.titleLabel setFont:[UIFont systemFontOfSize:10]];

您还可以自定义按钮字体粗体,斜体。 本例采用系统粗体字体大小。

[LoginButton.titleLabel setFont:[UIFont boldSystemFontOfSize:15.0f*Ratio]];
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

希望对你有所帮助

[_button.titleLabel setFont:[UIFont systemFontOfSize:15]];  

祝你好运