2017-09-26 16 views
6

iOS 10以降、無効にして有効にしたuibarbuttonitemのフォントは変わらず、色のみが異なります。しかし、ios 11を搭載したデバイスにアプリケーションをインストールすると、無効モードのフォントが更新され(システムフォントが表示される)、有効なモードでは適切なフォントが表示されます。無効にしたときのUIBarbuttonItemフォントの更新 - iOS 11

iOS 11の場合、無効なモードのフォントをアプリに一貫性を持たせるように設定するにはどうすればよいですか。

答えて

7

これは、私が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); 
} 
関連する問題