如何在Objective-C中以编程方式更改字体样式

8
我希望能够通过编程方式改变字体的样式(如粗体、常规、轻体、斜体)。我知道可以使用IB,但我想通过编程方式进行更改。需要一些指导。如果这是一个愚蠢的问题,请原谅。
例如,我的代码如下所示:
lblAge.font = [UIFont fontWithName:@"Helvetica" size:20];

我想添加常规样式。我该怎么做?

5个回答

19

这应该可以帮助你开始

offerTitle.font = [UIFont fontWithName:@"TimesNewRomanPS-ItalicMT" size:14.0f];//here offerTitle is the instance of `UILabel` 
希望这可以帮助:)

1
@lakesh:Dalee的回答是正确的。在这里,您可以找到一份可能性列表:http://iosfonts.com/ - Rok Jarc
就像我问题中的示例一样,我想将其制作成常规风格。 - lakshmen
4
Helvetica系列字体有以下选项:Helvetica、Helvetica-Bold、Helvetica-BoldOblique、Helvetica-Light、Helvetica-LightOblique、Helvetica-Oblique。 - Rok Jarc
@lakesh 希望这能帮到你并满足你的需求 :) - Dalee Davis

5
尝试这个解决方案:
myLabel.font = [UIFont boldSystemFontOfSize:16.0f];
myLabel.font = [UIFont italicSystemFontOfSize:16.0f];

对于常规尺寸:

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

希望能对您有所帮助。

有没有适合普通尺寸的? - lakshmen

2

1

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

oneLabel.font=[UIFont fontWithXXX];

1
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;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接