这是我迄今为止尝试过的,但遇到了错误(我已经正确地将CaviarDreams实现到项目中):
self.navigationController.navigationBar.titleTextAttributes = NSFontAttributeName[UIFont .fontWithName(CaviarDreams.ttf, size: 20)]
错误提示: 使用未解决的标识符 'CaviarDreams'
这是我迄今为止尝试过的,但遇到了错误(我已经正确地将CaviarDreams实现到项目中):
self.navigationController.navigationBar.titleTextAttributes = NSFontAttributeName[UIFont .fontWithName(CaviarDreams.ttf, size: 20)]
错误提示: 使用未解决的标识符 'CaviarDreams'
试试这个:
self.navigationController.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "CaviarDreams", size: 20)!]
编辑:现在,UIFont必须解包才能在此处使用。
Swift 5(+安全处理可选的UIFont
)
self.navigationController?.navigationBar.titleTextAttributes = [ NSAttributedString.Key.font: UIFont(name: "Caviar-Dreams", size: 20) ?? UIFont.systemFont(ofSize: 20)]
使用 Swift,在 AppDelegate.swift
中添加了以下内容:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
UINavigationBar.appearance().titleTextAttributes = [
NSFontAttributeName: UIFont(name: "DINNextLTW04-Regular", size: 20)!
]
return true
}
希望它能帮到你!
NSFontAttributeName
was now changed to --->> NSAttributedStringKey.font
- CesareSwift 2.0:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UINavigationBar.appearance().titleTextAttributes = [
NSFontAttributeName: UIFont(name: "Arial-Regular", size: 30)!
]
return true
}
或者
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBarHidden = false
self.title = "SAMPLE"
//Set Color
let attributes: AnyObject = [ NSForegroundColorAttributeName: UIColor.redColor()]
self.navigationController!.navigationBar.titleTextAttributes = attributes as? [String : AnyObject]
//Set Font Size
self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Arial", size: 37.0)!];
}
UIFont?
类型了。self.navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "<font-name>", size: <size>)!]
Swift 4
if let font = UIFont(name: "FontName", size: 16) {
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: font]
}
或者,如其他答案所建议的那样,在AppDelegate上执行:
if let font = UIFont(name: "FontName", size: 16) {
UINavigationBar.appearance().titleTextAttributes = [
NSAttributedStringKey.font: font]
}
对于Swift 2.3版本
self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Roboto-Bold", size: 20.0)!, NSForegroundColorAttributeName : UIColor.whiteColor()];
Swift 4.2
Change Large Title
self.navigationController!.navigationBar.largeTitleTextAttributes = [.font: UIFont.systemFont(ofSize: 22)]
self.navigationController!.navigationBar.titleTextAttributes = [.font: UIFont.systemFont(ofSize: 14)]
Swift 4.2
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.font: UIFont(name: "Helvetica", size: 18.0)!]
.font
而不是NSAttributedString.Key.font
。 - Dante PuglisiSwift 4.2
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let font = UIFont(name: "FontName", size: 16) ?? UIFont.systemFont(ofSize: 16)
UINavigationBar.appearance().titleTextAttributes = [.font: font]
}
NSFontAttributeName
现在是String
类型,所以这段代码无法正常工作。 - DehliNSFontAttributeName
被重命名为titleTextAttributes = [NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: 23)]
。 - Zhou Haibo