gpt4 book ai didi

iphone - 将 iPhone/iPad 文本动态更改为自定义字体

转载 作者:行者123 更新时间:2023-12-03 19:43:58 26 4
gpt4 key购买 nike

我想创建一个使用用户自定义字体的应用程序,因此我希望我的应用程序在运行时加载 ttf 文件。我熟悉通过 UIAppFonts 键添加自定义字体,如 Adding custom font on iphone 中所述。 。如果提供用户创建的自定义版本,我可能无法成功创建可以由我的应用程序替换的占位符自定义字体?

最佳答案

我使用的字体文件是这样的:http://www.webpagepublicity.com/free-fonts/a/Almagro%20Regular.ttf

我使用这段代码做到了:

 CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontFilepath UTF8String]);

// Create the font with the data provider, then release the data provider.
CGFontRef customFont = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);

CFErrorRef error = nil;
CTFontManagerRegisterGraphicsFont(customFont, &error);

CGFontRelease(customFont);

if (error != nil)
{
NSError* err = (__bridge NSError*)error;
NSLog(@"error code %d desc: %@",err.code, [err description]);
}

UIFont* f = [UIFont fontWithName:@"Almagro" size:14.0];

不过还是有一些问题。您需要知道字体名称,因为它可能与文件名略有不同。在我的示例中,文件名是“Almagro Regular.ttf”,但字体名称只是“Almagro”。在另一个论坛上,有人说你需要小心名称中带有空格的字体,因为像“Sans Serif”这样的字体将被注册为 UIFont fontWithName:size: 的“SansSerif”

让我知道它是否有效。

关于iphone - 将 iPhone/iPad 文本动态更改为自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com