如果我使用的自定义字体只有-Regular字体,我如何使文本变成意大利语?
我使用这个扩展使其为斜体,但它在fontDescriptor部件中崩溃:
func withTraits(traits:UIFontDescriptor.SymbolicTraits) -> UIFont {
let descriptor = fontDescriptor.withSymbolicTraits(traits)
return UIFont(descriptor: descriptor!, size: 0)
}
func bold() -> UIFont {
return withTraits(traits: .traitBold) }
func italic() -> UIFont {
return withTraits(traits: .traitItalic) }用法:
let s = UIFont(name:"Archivo Black", size: 20.0).italic()
print("Output: ", s)工具:
发布于 2019-10-28 09:19:19
let descriptor = fontDescriptor.withSymbolicTraits(traits)上面的行返回一个可选的字体描述符,这意味着它并不存在于所有字体。
我认为您需要在您的计算机上安装相应的字体样式(斜体),用于字体系列Archivo Black。下载并安装阿奇沃黑色字体斜体的.ttf文件。
你可以用这样的方法来避免坠机。
extension UIFont {
func withTraits(traits: UIFontDescriptor.SymbolicTraits) -> UIFont {
if let descriptor = fontDescriptor.withSymbolicTraits(traits) {
// Initialize a new instance of UIFont with desired symbolic trait if exists
return UIFont(descriptor: descriptor, size: self.pointSize)
}
// Fall back to default version of the font
return self
}
}发布于 2019-10-28 07:00:10
在故事板中,选择文本视图或标签,并将其类型从纯文本更改为属性,然后选择文本,然后单击它,选择字体,然后在字体下面找到斜体。你可以在这张照片上看到它

https://stackoverflow.com/questions/58586278
复制相似问题