我将自定义字体添加到框架中.我遵循所有的步骤,但它不起作用.
我可以在Interface Builder中设置字体,但是当我构建项目时,它不会在模拟器/设备上显示此字体.
这是我的John的答案版本,显示如果你有很多字体,该如何调用该函数
import Foundation extension UIFont { @nonobjc static var loadAllFontsDO: dispatch_once_t = 0 class func initialsAvatarFont() -> UIFont { loadAllFonts() if let retval = UIFont(name: "MyFontName",size: kInitialsAvatarFontSize) { return retval; } else { return UIFont.systemFontOfSize(kInitialsAvatarFontSize) } } class func loadAllFonts() { dispatch_once(&loadAllFontsDO) { () -> Void in registerFontWithFilenameString("thefontfilename.ttf",bundleIdentifierString: "nameOfResourceBundleAlongsideTheFrameworkBundle") // Add more font files here as required } } static func registerFontWithFilenameString(filenameString: String,bundleIdentifierString: String) { let frameworkBundle = NSBundle(forClass: AnyClassInYourFramework.self) let resourceBundleURL = frameworkBundle.URLForResource(bundleIdentifierString,withExtension: "bundle") if let bundle = NSBundle(URL: resourceBundleURL!) { let pathForResourceString = bundle.pathForResource(filenameString,ofType: nil) let fontData = NSData(contentsOfFile: pathForResourceString!) let dataProvider = CGDataProviderCreateWithCFData(fontData) let fontRef = CGFontCreateWithDataProvider(dataProvider) var errorRef: Unmanaged<CFError>? = nil if (CTFontManagerRegisterGraphicsFont(fontRef!,&errorRef) == false) { NSLog("Failed to register font - register graphics font failed - this font may have already been registered in the main bundle.") } } else { NSLog("Failed to register font - bundle identifier invalid.") } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。