1
カスタムフォントでラベルのフォントを変更したいが、コンパイラが問題を起こしている: オプティナル値のアンラッピング中に予期せずnilが見つかりました。 この問題は、Xcodeが自分のフォントファイルBrandon_reg.otfを認識しないことが原因であると思います。私は何を間違えたのですか?遊び場をダウンロード:https://ufile.io/940ccXcodeプレイグラウンドでのカスタムフォントの実装方法
import UIKit
import PlaygroundSupport
var view = UIView(frame: UIScreen.main.bounds)
let fontURL = Bundle.main.url(forResource: "Brandon_reg", withExtension: "otf")
CTFontManagerRegisterFontsForURL(fontURL! as CFURL, CTFontManagerScope.process, nil)
var font = UIFont(name: "horrendo", size: 30)
var attrs = [NSFontAttributeName : font!,
NSForegroundColorAttributeName : UIColor.white,
NSBaselineOffsetAttributeName : 0.0] as [String : Any]
let nameAttrSring = NSAttributedString(string: "Brandon_reg", attributes: attrs)
let mainLabel: UILabel = {
let label = UILabel()
label.font = font
label.textColor = .white
label.translatesAutoresizingMaskIntoConstraints = false
label.textAlignment = .center
label.numberOfLines = 0
return label
}()
view.addSubview(mainLabel)
PlaygroundPage.current.liveView = view
PlaygroundPage.current.needsIndefiniteExecution = true
あなたのResourcesフォルダに.otfファイルはありますか?どのラインを正確にエラーにしますか? –
コメントいただきありがとうございます@ LouFranco。 .otfファイルはResourcesフォルダ内にあります(その名前もコード内の名前と完全に一致します)。私はこの行でエラーを受け取ります: 'CTFontManagerRegisterFontsForURL(fontURL!as CFURL、CTFontManagerScope.process、nil)'。 –
私はあなたがその行に問題を起こしているとは思わない。 'let fontUrl ='行の右側には、 'file://' URLが表示されています。 –