web-dev-qa-db-ja.com

iOS7.1のデフォルトの色合いはUISwitchでは変更されません

ストーリーボードでデフォルトの色合いの色を設定しましたが、UISwitchコンポーネントのデフォルトの色である古い青が表示されます。

だから私は入れようとしました

[[UIView appearance] setTintColor:APPCOLOR];

アプリのデリゲートメソッドの内部

- (void)applicationWillResignActive:(UIApplication *)application

でもまだ運がないので、私もそこに入れようとしました

[[UISwitch appearance] setTintColor:APPCOLOR];

そして再び変化はありません。

APPCOLORは、もちろん私が含めているconstants.hファイルで定義されています。

ISwitchのこの色合いをグローバルに設定するにはどうすればよいですか?

UIButtonなどの他の要素の色合いの色が適切に変更されます。

23
Majky

UISwitchの色合いは、境界線の色を制御します。オンカラーを設定する場合は、onTintColorを使用する必要があります。

ここ これらの色合いがUISwitchに対して何を表すかについてのドキュメントを読んでください。

enter image description here

また、applicationWillResignActive:デリゲートメソッドで外観を設定しないでください。これは、アプリケーションがアクティブ状態を終了したときに呼び出されます。 application:didLaunchWithOptions:で外観を設定する必要があります。

72
Leo Natan