UIButtonのappearanceで派生する色設定
公開日:
:
最終更新日:2014/11/27
Tips appearance, UIBarButtonItem, UIButton, UITableViewCell
以下のコードでUIButtonのappearanceでBackgroundColorの設定をすると、背景色の設定を一括で行えて嬉しいのですが、UIBarButtonItemやUITableViewCellのアクセサリ(チェックボタンなど)まで影響が波及するのでちょっと困りものです。
[[UIButton appearance] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage redColor]]];
そこで、UIBarButtonItemやUITableViewCellのアクセサリは、特定のViewControllerの下にあることが確定しているのを利用してappearanceの上書きを行います。上のコードの直後に以下のコードを書き足す感じです。
[[UIButton appearanceWhenContainedIn:[UINavigationBar class], nil] setBackgroundColor:[UIColor clearColor]];
[[UIButton appearanceWhenContainedIn:[UITableViewCell class], nil] setBackgroundColor:[UIColor clearColor]];
UIBarButtonItemはわかりやすいのですが、UITableViewCellのチェックマーク(アクセサリ)の背景色が変わった時には難儀しました(というかあれがUIButtonだったとは知りませんでした)。調べたらUITableViewCellのサブビューだったので、上記のように書いて解決できたのが幸いです。
他の部分(ツールバーなど)も同様にすれば問題は解決すると思います。
関連記事
-
-
UITableViewのセルセパレータが画像の下部分だけ切れる場合の対応
iOS7のUItableViewCellだと、UITableView.imageViewに画
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
preferredContentSizeをUINavigationContorllerのPop時に再設定する
popoverで表示しているViewControllerのサイズを、他のViewController
-
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
-
Realmで==ができなかった
最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
Bitbucket課題の記法サンプル
Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
