ios – Swift NSAttributedString自定义字体

我已经阅读了不同的解决方案,但似乎没有任何效果.此代码创建一个零异常:
[NSFontAttributeName: UIFont(name: "Raleway-SemiBold",size: 16)!]

我正确安装了字体,它们在应用程序中正确显示(目标已设置).
我试图在plist中添加应用程序提供的字体,但什么都没发生.我无法编辑数组中的项目:(它们是item0:string:Raleway-SemiBold.tff).

所以基本上我被卡住了……有时Swift和Apple环境对于程序员来说是很好的,有时候(大多数时候),他们太缺陷了,需要这么多的解决方法来达到预期的结果.

非常感谢您的帮助.

解决方法

你得到一个例外,因为UIFont(名字:“Raleway-SemiBold”,大小:16)返回nil,你用力展开它!

相反,使用条件展开:

if let font = UIFont(name: "Raleway-SemiBold",size: 16) {
    let attributes = [NSFontAttributeName: font]
    // do something with attributes
} else {
    // The font "Raleway-SemiBold" is not found
}

您可以使用UIFont的familyNames()和fontNamesForFamilyName(_ :)方法来获取所需的确切字符串.

斯威夫特4

if let font = UIFont(name: "Raleway-SemiBold",size: 16) {
    let attributes = [NSAttributedStringKey.font: font]
    // do something with attributes
} else {
    // The font "Raleway-SemiBold" is not found
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...