如何在 iOS 的故事板中使用编程定义的字体?

Posted

技术标签:

【中文标题】如何在 iOS 的故事板中使用编程定义的字体?【英文标题】:How to use programmatically defined font in storyboard in iOS? 【发布时间】:2015-03-19 05:35:20 【问题描述】:

我在情节提要中有很多相同风格的UILabel和按钮,而且我还有一个字体列表,例如

#define FLOAT_F1  [UIFont systemFontOfSize:18]
#define FLOAT_F2  [UIFont systemFontOfSize:16]

我可以在 storyboard 中使用这些定义吗?这样,如果标准发生变化,我就不必在 storyboard 中一一更改。

【问题讨论】:

不,尽管您可以创建一个继承自 UILabelCustomLabel 类。只需更改 awakeFromNib 方法中的字体并在情节提要中设置该类。 但是,这对我来说也很复杂,#_#,谢谢,我会尝试寻找其他方法。 超级简单。这正是 Jayesh 发布的内容。 【参考方案1】:

您可以创建自定义标签,如下所示。

文件:UICustomLabel.h

@interface UICustomLabel : UILabel

@end

文件:UICustomLabel.m

@implementation UICustomLabel
- (id)initWithFrame:(CGRect)frame

    self = [super initWithFrame:frame];
    if (self) 
        // Initialization code
    
    return self;

- (id)initWithCoder:(NSCoder *)coder 
    self = [super initWithCoder:coder];
    if (self) 

        // [UIFont fontWithName:@"AmericanTypewriter-Bold" size:self.font.pointSize]
        [self setFont:[UIFont fontWithName:@“Font_Name" size:self.font.pointSize]];
    
    return self;

@end

然后将类 UICustomLabel 分配给您需要设置的所有情节提要中的每个标签,如下所示。

这对你有用。如果您有任何问题,请告诉我。

【讨论】:

谢谢,它有效,但并不完美,例如,如果我需要在视图中使用 5 种字体,我必须自定义 5 个标签。 不,如果您有 5 个自定义标签,您可以在单个类中创建五种不同类型的自定义标签类,然后您可以使用该类。 这应该是正确的方法,我会分类我的标签。

以上是关于如何在 iOS 的故事板中使用编程定义的字体?的主要内容,如果未能解决你的问题,请参考以下文章

XCode故事板中的自定义静态表格单元格?

如何使用故事板中定义的单元格计算集合视图单元格高度?

Xcode:如何在 IOS5 故事板中添加新的标签屏幕?

故事板中的 UILabel 子类外观

如何更改iOS自定义键盘的高度?

使用故事板中定义的自定义类