iphone - 如何在不指定大小的情况下为整个 iOS 应用程序设置自定义字体

标签 iphone objective-c ios cocoa uikit

我正在尝试在我的 iOS 应用 中应用自定义字体。我发现我可以使用:

 [[UILabel appearance] setFont:[UIFont fontWithName:@"Proxima Nova" size:17.0]];
  • 为所有 UILabels 设置默认字体和大小。但是,并非所有的 UILabels 都具有相同的字体大小。

  • Set a default font for whole iOS app? ,有人有同样的顾虑,并被告知将大小参数设置为 0.0 以仅设置字体而不设置字体大小。

  • 当我尝试这样做时,我的应用程序中的所有 UILabel 文本都消失了(因为显然 iOS 按字面意思采用了 0.0 字体大小)。

关于如何通用设置字体而不是大小有什么建议吗?非常感谢!

最佳答案

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setFontFamily:@"FagoOfficeSans-Regular" forView:self.view andSubViews:YES];
}

-(void)setFontFamily:(NSString*)fontFamily forView:(UIView*)view andSubViews:(BOOL)isSubViews
{
    if ([view isKindOfClass:[UILabel class]])
    {
        UILabel *lbl = (UILabel *)view;
        [lbl setFont:[UIFont fontWithName:fontFamily size:[[lbl font] pointSize]]];
    }

    if (isSubViews)
    {
        for (UIView *sview in view.subviews)
        {
            [self setFontFamily:fontFamily forView:sview andSubViews:YES];
        }
    }    
}

关于iphone - 如何在不指定大小的情况下为整个 iOS 应用程序设置自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907761/

相关文章:

ios - 在单个 View 应用程序中使用 sprite kit

objective-c - Objective-C 上下文中 __typeof 关键字的含义是什么?

ios - 如何为键设置 iOS 默认可本地化字符串?

ios - 如何使父 uicollectionview 的 uicollectionviewcell 中 uicollectionview 的布局无效?

iOS 下载多个图像和更新 UIProgressView 时出现一些问题

iphone - UIWebView frame resize 不调整内部内容

iphone - 有没有获取全局当前时间的API

iphone - 组合 IF 语句

iphone - 我们可以将属性/合成到 sqlite3 * 数据库对象吗?

ios - 无法在缓存目录中创建文件