【问题标题】:how to change the style of the font programmatically in objective-c如何在objective-c中以编程方式更改字体的样式
【发布时间】:2012-12-19 15:42:24
【问题描述】:

我想以编程方式更改字体的样式(如粗体、常规、浅色、倾斜)。我知道我可以使用 IB,但我想以编程方式更改它。在这方面需要一些指导。对不起,如果这是一个愚蠢的问题。

例如,我的代码如下所示:

lblAge.font = [UIFont fontWithName:@"Helvetica" size:20];

我想添加常规的样式,怎么做?

【问题讨论】:

    标签: ios objective-c uifont


    【解决方案1】:

    试试这个解决方案:

    myLabel.font = [UIFont boldSystemFontOfSize:16.0f];
    myLabel.font = [UIFont italicSystemFontOfSize:16.0f];
    

    对于常规尺寸:

    myLabel.font = [UIFont systemFontOfSize:16.0f];
    

    希望对你有帮助。

    【讨论】:

    • 有正常尺寸的吗?
    【解决方案2】:
    static NSString *_myCustomFontName;
    + (NSString *)myCustomFontName:(NSString*)fontName{
    
        if ( !_myCustomFontName ){
            NSArray *arr = [UIFont fontNamesForFamilyName:fontName];
            // I know I only have one font in this family
            if ( [arr count] > 0 )
                _myCustomFontName = arr[0];
        }
        return _myCustomFontName;
    }
    

    【讨论】:

      【解决方案3】:

      对于 iOS 8.2 及更高版本,+ systemFontOfSize:weight: 允许您指定加权系统字体。

      【讨论】:

        【解决方案4】:

        查看 UIFont 的 API。将创建的字体分配给指定对象的属性“字体”

        oneLabel.font=[UIFont fontWithXXX];
        

        【讨论】:

          【解决方案5】:

          这应该会让你继续前进

          offerTitle.font = [UIFont fontWithName:@"TimesNewRomanPS-ItalicMT" size:14.0f];//here offerTitle is the instance of `UILabel` 
          

          希望这会有所帮助:)

          【讨论】:

          • @lakesh:Dalee 的回答是正确的。在这里您可以找到一系列可能性:iosfonts.com
          • 就像我的问题中的例子,我想让它成为常规样式
          • 对于 Helvetica 家族,您有以下选项:Helvetica、Helvetica-Bold、Helvetica-BoldOblique、Helvetica-Light、Helvetica-LightOblique、Helvetica-Oblique
          • @lakesh 希望这有助于并满足您的需求:)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-11
          • 2016-01-28
          • 1970-01-01
          相关资源
          最近更新 更多