Я использую большой заголовок панели навигации в представлении SwiftUI. Как установить стиль шрифта .serif и .black для плитки панели навигации?
К сожалению, я не могу изменять атрибуты при установке navigationBarTitle
`
Единственный известный мне способ — изменить внешний вид NavigationBar во всем приложении.
Вы можете сделать это, вызвав этот код:
let largeTitle = UIFont.preferredFont(forTextStyle: .extraLargeTitle)
let regularTitle = UIFont.preferredFont(forTextStyle: .body)
// Define descriptor with rounded design
let descriptor = largeTitle.fontDescriptor.withDesign(.rounded)!
let largeFont = UIFont(descriptor: descriptor, size: largeTitle.pointSize)
let regularFont = UIFont(descriptor: descriptor, size: regularTitle.pointSize)
// For large title
UINavigationBar.appearance().largeTitleTextAttributes = [.font : largeFont]
// For inline title
UINavigationBar.appearance().titleTextAttributes = [.font : regularFont]
Важная часть здесь — создать экземпляр дескриптора шрифта, который вы можете настроить по своему усмотрению.
Однако, как я уже говорил в начале, это изменит внешний вид панели навигации во всем приложении.
См. Изменение шрифта, оттенка и фона заголовка NavigationStack в SwiftUI