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のサブビューだったので、上記のように書いて解決できたのが幸いです。
他の部分(ツールバーなど)も同様にすれば問題は解決すると思います。
関連記事
-
-
User Defined Runtime Attributeについての覚書
UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡
-
-
GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法
情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクス
-
-
UITableViewのセルセパレータが画像の下部分だけ切れる場合の対応
iOS7のUItableViewCellだと、UITableView.imageViewに画
-
-
StoryboardからPopoverを作っても位置合わせコードは必要
これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
App Storeのページにアプリケーションから直接アクセスする方法
去年(2013年)の秋ごろ、iOS7の出始めの時期に書かれたblog記事などを参考にすると、iOS6
-
-
ENMLからHTMLへの変換
最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと
-
-
ソースコードからStoryboardにアクセスする
複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場
-
-
”No Scheme”になってしまった場合の対応
知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない