gpt4 book ai didi

ios - 如何从常规 UIFont 创建粗体 UIFont?

转载 作者:IT王子 更新时间:2023-10-29 07:50:35 26 4
gpt4 key购买 nike

如果我有一个 UIFont 对象,是否可以将它转换为粗体?我不知道字体名称,我只有一个 UIFont 对象。我想要的是像这样的功能

UIFont *boldFontFromFont(UIFont *input)
{
return [input derivedFontWithFontWeight:UIFontWeightBold];
}

如何更改代码以使其正常工作。 (上面的代码不起作用,我只是为了说明这一点而编造的。)

提前致谢。

最佳答案

iOS 7 引入了一个新的 UIFontDescriptor类,这使它变得容易得多:

UIFont *font = [UIFont fontWithName:@"Helvetica Neue" size:12];
NSLog(@"plain font: %@", font.fontName); // “HelveticaNeue”

UIFont *boldFont = [UIFont fontWithDescriptor:[[font fontDescriptor] fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold] size:font.pointSize];
NSLog(@"bold version: %@", boldFont.fontName); // “HelveticaNeue-Bold”

UIFont *italicFont = [UIFont fontWithDescriptor:[[font fontDescriptor] fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic] size:font.pointSize];
NSLog(@"italic version: %@", italicFont.fontName); // “HelveticaNeue-Italic”

UIFont *boldItalicFont = [UIFont fontWithDescriptor:[[font fontDescriptor] fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic] size:font.pointSize];
NSLog(@"bold & italic version: %@", boldItalicFont.fontName); // “HelveticaNeue-BoldItalic”

对于来到这里寻找 Cocoa (macOS) 等价物的人来说,UIFontDescriptor 来自 NSFontDescriptor,从 10.3 开始可用。

关于ios - 如何从常规 UIFont 创建粗体 UIFont?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015916/

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