Изменить шрифт заголовка панели навигации - быстро

У меня есть заголовок в моей навигационной панели, и я хочу изменить его на пользовательский шрифт. Я нашел эту строку кода, но это, когда у вас есть контроллер навигации.

self.navigationController?.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "LeagueGothic-Regular", size: 16.0)!, 
                                                             NSForegroundColorAttributeName: UIColor.whiteColor()]

Но у меня нет навигационного контроллера. Я добавил навигационную панель вручную для просмотра.

введите описание изображения здесь

введите описание изображения здесь

как я могу изменить шрифт комментария?

Ответ 1

Попробуй это:

Objective-C

[[UINavigationBar appearance] setTitleTextAttributes:attrsDictionary];

Свифт 3

self.navigationController.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "CaviarDreams", size: 20)!]

Swift 4

self.navigationController.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "CaviarDreams", size: 20)!]

Ответ 2

Правильный способ установки шрифта для каждого контроллера вида в Swift (с использованием прокси-сервера Appearance):

Swift 4

let attributes = [NSAttributedStringKey.font: UIFont(name: "HelveticaNeue-Light", size: 17)!]
UINavigationBar.appearance().titleTextAttributes = attributes

Swift 3

let attributes = [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 17)!]
UINavigationBar.appearance().titleTextAttributes = attributes

Ответ 3

SWIFT 4.x

Чтобы изменить шрифт заголовка панели навигации для обычного и большого заголовка над iOS 11.x

let navigation = UINavigationBar.appearance()

let navigationFont = UIFont(name: "Custom_Font_Name", size: 20)
let navigationLargeFont = UIFont(name: "Custom_Font_Name", size: 34) //34 is Large Title size by default

navigation.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white, NSAttributedStringKey.font: navigationFont!]

if #available(iOS 11, *){
    navigation.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white, NSAttributedStringKey.font: navigationLargeFont!]
}

Большой заголовок должен быть установлен на панель навигации.

Ответ 4

Вы также можете сделать это в раскадровке, в Xcode 10.1 есть ошибка, которая делает это здесь, чтобы решить эту проблему.

Шаг 1 - Выберите систему из шрифта

enter image description here

Шаг 2 - Затем снова выберите Custom, и он покажет все шрифты.

enter image description here

Ответ 5

 self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "Lato-Semibold", size: 17)!,NSAttributedStringKey.foregroundColor : UIColor.white]

Ответ 6

Swift 4.2 Xcode 10

self.navigationController!.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "Sacramento-Regular", size: 19)!]

Ответ 7

Для вызова titleTextAttributes в ссылке на панель навигации используйте:

let attributes = [NSAttributedStringKey.font: UIFont(name: "Helvetica", size: 17)!]
self.navigationController?.navigationBar.titleTextAttributes = attributes