カスタマイズの段階で、UIControlStateNormal
とUIControlStateHighlighted
の両方の状態で、アプリケーションで使用されているUIBarButtonItem
インスタンスのタイトル属性を設定しようとしました。 .Normal
ボタンの状態についてはUIBarButtonItemのタイトルテキスト属性をハイライト状態に設定できません
は、次のコードは正常に動作します:
barButton.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(18.0)], forState: .Normal)
をしかし、私は.Highlighted
に状態パラメータを変更した場合、コードは効果がありません。まず最初に、現在のアプリケーションで何か問題があると思ったので、ツールバー1つでUIBarButtonItem
を使って最初から新しいプロジェクトを作成しましたが、問題はまだ残ります。
でもタイトルを設定すると、次のコードは、何もしないので、効果がありません外観プロキシを使用して、すべてのアイテムの属性:
// Has no effect
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.redColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted)
// This one has no effect too
UIBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted)
私は何かが欠けているか、それはAppleのバグであるだろうか?強調表示された状態のタイトル属性についての注意事項はドキュメントには記載されていません。
の作品ホープ:私は、画面の一番下に 'UIToolBar'を追加する場合は1)ボタンのフォントは)2を変更しないと'UIBarButtonItem'を追加すると、このコードは完全には機能しません(つまり、色やフォントの変更はありません)。 .Normal状態のため、それは完全にうまく動作します。 – Storix
提案されたリンクが質問に答えるとしても、答えに関連する部分を入れておく必要があります。 –