无内置斜体的自定义UIFont能否在UILabel中设置为斜体效果?
SpaceGrotesk字体在UILabel实现斜体效果的方案
我需要使用谷歌推出的SpaceGrotesk字体,但该字体没有内置斜体样式,想要将该字体应用到UILabel的同时实现斜体效果。
最初的基础使用代码如下:
UIFont* nameLabelFont = [UIFont fontWithName:@"SpaceGrotesk-Bold" size:20]; self.nameLabel.font = nameLabelFont;
可行实现方案
通过2D图形API的倾斜变换矩阵即可实现需求,实测有效,代码如下:
// 15为倾斜角度,可根据实际视觉效果调整 CGAffineTransform transformFontToItalic = CGAffineTransformMake(1, 0, tanf(15 * (CGFloat)M_PI / 180), 1, 0, 0); UIFontDescriptor *fontItalic = [UIFontDescriptor fontDescriptorWithName:@"SpaceGrotesk-Regular" matrix:transformFontToItalic]; self.usernameLabel.font = [UIFont fontWithDescriptor:fontItalic size:10];
内容的提问来源于stack exchange,提问作者stefanosn
相关产品推荐
相关产品推荐

