*

UIButtonのappearanceで派生する色設定

公開日: : 最終更新日:2014/11/27 Tips , , ,

以下のコードで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のサブビューだったので、上記のように書いて解決できたのが幸いです。
他の部分(ツールバーなど)も同様にすれば問題は解決すると思います。

関連記事

Xcode8で余計なログを抑制する

Xcode8に更新してから、妙にログが増えたので、NSLogで明示したのと実行時エラー以外のログを吐

記事を読む

iOS7でのPopover内サイズの指定

UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ

記事を読む

UIAutomation関連覚書

割りと忘れがちなので、自分用備忘録を兼ねて、UIAutomationに関連するtips的なものをまと

記事を読む

iOS9でURLスキームを登録する

私事ですが、iOS8から対応はしたいということで検証用に使っている自分のiPhoneもiOS8でがん

記事を読む

iOS7でカメラ撮影時のステータスバーを消す

UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番

記事を読む

UISplitViewControllerの仕切り線の色を設定

UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ

記事を読む

iOS7の青色

iOS7の標準UIで使われている、水色に近い青の色についての記事です。 あの色には特に名前を決まっ

記事を読む

Size ClassとUIViewController.view

タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が

記事を読む

Bitbucket課題の記法サンプル

Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に

記事を読む

iPadのUIModalPresentationFormSheetでキーボードが閉じない

iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑