我必須使用 SpaceGrotesk 谷歌字體,但沒有斜體樣式。這是字體https://fonts.google.com/specimen/Space Grotesk。所以我的問題是我可以將它添加到 UILabel 并將其更改為斜體嗎?任何幫助表示贊賞。目前我正在像這樣使用它......
UIFont* nameLabelFont = [UIFont fontWithName:@"SpaceGrotesk-Bold" size:20];
self.nameLabel.font = nameLabelFont;
更新
**
I used the following command from 2D graphics API and it actually works.
CGAffineTransform transfromFontToItalic = 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:fontD size:10];
**
uj5u.com熱心網友回復:
我認為這不值得,但以下是步驟:
將標簽轉換為影像。請參閱如何將 UIView 轉換為影像
將影像裁剪為大約 20 個單獨的影像,每個影像代表一條單獨的水平線(高度:1,寬度:原始標簽寬度)。請參閱裁剪 UIImage
使用代碼,將單獨的影像一個接一個放置,每個下一行的尾隨約束遞減
注意:此解決方案假設標簽為 1 行
uj5u.com熱心網友回復:
我們可以借助UIFont的類方法來實作效果——
(UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize
和UIKitUIFontDescriptor 方法如下所述
(UIFontDescriptor *)fontDescriptorWithName:(NSString *)fontName matrix:(CGAffineTransform)matrix
在上面的 FontDescriptor 方法中,將C 的值更改0 < C < 1為具有傾斜度(檢查CGAffineTransform下面的語法)
注意- 的語法CGAffineTransform是這樣的 -CGAffineTransformMake(CGFloat a, CGFloat b, CGFloat c, CGFloat d, CGFloat tx, CGFloat ty)
代碼:
CGAffineTransform transform = CGAffineTransformMake(1, 0, 0.5, 1, 0, 0);
UIFontDescriptor * fontDesc = [UIFontDescriptor fontDescriptorWithName:@"SpaceGrotesk-Regular" matrix:transform];
self.lblUsername.font = [UIFont fontWithDescriptor:fontDesc size:20];
self.lblUsername.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5];
self.lblUsername.text = @"A quick brown fox, jumps over the lazy dog";
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/366718.html
