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のサブビューだったので、上記のように書いて解決できたのが幸いです。
他の部分(ツールバーなど)も同様にすれば問題は解決すると思います。
関連記事
-
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
-
-
NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い
表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction
-
-
iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
UIAlertControllerの取り扱い
旧聞ですが日本語版のStackOverflowが始動したようですね。 個人的な印象は「フィルタされ
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
CALayerの管理
CALayerはNSKeyValueCodingを実装している(Core Animation Ext
-
-
RealmのList
とArray の相互変換によるマップ Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが
