これは、私がUIAppearanceプロトコルを使用している私の場合、少なくともiOS 11では変更されているようです。これがバグか意図的なものかどうかは不明です。
また、コントロールがすべての状態を満たしていればフォントを適用するという意味で、値を一緒にマスクすることができませんでした(など)。
だから私は、このやってしまった:UIAppearanceプロトコルを使用して、どこでもそれを更新するための
for controlState in [UIControlState.normal, UIControlState.disabled, UIControlState.focused, UIControlState.highlighted, UIControlState.selected] {
barButton.setTitleTextAttributes([NSFontAttributeName: customFontName], for: controlState)
}
を:
for controlState in [UIControlState.normal, UIControlState.disabled, UIControlState.focused, UIControlState.highlighted, UIControlState.selected] {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: customFontName, for: controlState);
}