导航栏标题在字体更改后不会保持粗体

Navigation bar title does not remain bold upon font change

我使用此代码(基于 )将导航栏标题更改为 Apple 的纽约衬线字体。

init() {
        // if NavigationBarTitle is with Large Font
        if let newYorkDescriptor = UIFontDescriptor.preferredFontDescriptor(withTextStyle: .largeTitle).withDesign(.serif) {
            UINavigationBar.appearance().largeTitleTextAttributes = [.font : UIFont(descriptor: newYorkDescriptor, size: 0)]
        }
    }

导航栏标题以正确的字体和字号显示,但失去了普通导航栏标题所具有的粗体外观。我怎样才能恢复它?是否缺少粗体或字体粗细参数?

bold 是字体描述符的一部分,您必须明确添加它,例如

UIFontDescriptor.preferredFontDescriptor(withTextStyle: .largeTitle)
     .withDesign(.serif)?.withSymbolicTraits(.traitBold)