OC 获取库中所有自带字体名称

本文介绍如何在iOS应用中展示系统自带的所有字体,通过遍历字体家族并显示其包含的所有字体名称,以UILabel的形式在UIScrollView中呈现,帮助开发者对比和选择适合的字体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在日常开发中,为了页面显示效果的多样性,除了系统默认的字体,还可以使用其它系统自带字体,下列代码可以在一个UIScrollView中显示出不同的字体显示出的数字、中文、英文的效果,便于开发者对比使用.

在iOS自带库中,字体分为两级,类似于word中的字体.


UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

[self.view addSubview:mainScrollView];

    

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];

NSArray *fontNames;

NSInteger indexFamily, indexFont;

int index = 0;

for (indexFamily = 0; indexFamily < [familyNames count]; ++indexFamily)

{

    NSLog(@"Family name: %@", [familyNames objectAtIndex:indexFamily]);

    fontNames = [[NSArray alloc] initWithArray:

                     [UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indexFamily]]];

    for (indexFont = 0; indexFont < [fontNames count]; ++indexFont)

    {

        index ++;

        NSLog(@"    Font name: %@", [fontNames objectAtIndex:indexFont]);

        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 30 * index, self.view.frame.size.width, 20)];

        label.text = [NSString stringWithFormat:@"%d  字体  %@", index, [fontNames objectAtIndex:indexFont]];

        label.font = [UIFont fontWithName:[fontNames objectAtIndex:indexFont] size:16];

        [mainScrollView addSubview:label];

    }

}

mainScrollView.contentSize = CGSizeMake(0, 30 * (index + 1));

[self.view addSubview:mainScrollView];


这样页面中就可以显示出不同的字体的不同效果了,如下图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值