このコードを使用して、すべての UIBarButtonItems のデフォルト フォント (カスタム) を設定しています。
NSDictionary *attributesBarButtonItem = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"ProximaNova-Light" size:18.0], NSFontAttributeName, nil];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributesBarButtonItem forState:UIControlStateNormal];
NSLog(@"%@", [[UIBarButtonItem appearance] titleTextAttributesForState:UIControlStateNormal]);
ただし、フォントは変わらず、NSLogは(null)を返すので無視されているようです。すべてのナビゲーション バーのデフォルト フォントを設定するために使用しているコードとほぼ同じで、正常に動作するため、少し混乱します。
コードの一部はAppDelegateのdidFinishLaunchingWithOptionsに配置されていますが、まったく同じ結果で他のviewControllers(viewDidLoad)でもテストしました。
私が気づいた他の奇妙な動作: タブ バー コントローラーを持っています。バー ボタン アイテムを含む viewController を読み込んでも機能しませんが、別の viewController を押すと機能します (フォントは選択したものに変更されます)。 )、そのviewControllerがポップアウトされても機能し続けますが、別のタブが押されると機能しなくなります.
UIBarButtonItems のデフォルト フォントを設定するための助けをいただければ幸いです。ありがとう!