UISwitchの外見を変える

UISwitch(スイッチコントロール)の外見について解説します。

UISwitchの色変更例

概要

スイッチコントロールは以下の条件/操作によって外見が変わります。

  • iOS4以下とiOS5以降でコントロールの形が違う
  • onTintColorプロパティを利用してコントロールの色を変える(iOS5以降)
  • アプリケーションの言語設定でテキスト表示が違う
  • コントロールが利用不可能の状態

なお、テキストを変更することはできません。

iOSのバージョンによる違い

iOS4以下とiOS5以降では、スイッチコントロールの外見が異なります。

iOS4以下の場合:

iOS4以下でのUISwitch例

iOS5以降の場合:

iOS5以降でのUISwitch例

iOS4以下では角が四角い、iOS5以降では角が丸い外見になります。サイズも以下のようにiOS5以降で横幅が少し小さくなります。

  • iOS4以下:横:94 / 縦:27
  • iOS5以降:横:79 / 縦:27

コントロールの色を変える

iOS5以降では、onTintColorプロパティ利用してコントロールのオン状態の色を変更することができます。

UISwitchのonTintColorの利用例

クラス
UISwitch
プロパティ
onTintColor
利用例
switch1.onTintColor = [ UIColor redColor ];

onTintColorプロパティの公式リファレンス

アプリケーションの言語設定でテキスト表示が違う

アプリケーションの言語設定に応じて、コントロールに表示されるオン/オフ状態を表すテキストが変化します。言語設定はアプリケーションのplistファイルを開いて、「Localization native development region」項目で指定します。

iOS4以下で、端末の言語設定がEnglish、アプリの言語設定がEnglishの場合:ON/OFFと表示される

iOS4以下で、端末の言語設定がEnglish、アプリの言語設定がEnglishの場合のUISwitch

iOS4以下で、端末の言語設定が日本語、アプリの言語設定がEnglishの場合:ON/OFFと表示される

iOS4以下で、端末の言語設定が日本語、アプリの言語設定がEnglishの場合のUISwitch

iOS4以下で、端末の言語設定が日本語、アプリの言語設定がJapanの場合:オン/オフと表示される

iOS4以下で、端末の言語設定が日本語、アプリの言語設定がJapanの場合のUISwitch

iOS5以降で、端末の言語設定がEnglish、アプリの言語設定がEnglishの場合:ON/OFFと表示される

iOS5以降で、端末の言語設定がEnglish、アプリの言語設定がEnglishの場合のUISwitch

iOS5以降で、端末の言語設定が日本語、アプリの言語設定がEnglishの場合:|/○と表示される

iOS5以降で、端末の言語設定が日本語、アプリの言語設定がEnglishの場合のUISwitch

iOS5以降で、端末の言語設定が日本語、アプリの言語設定がJapanの場合:オン/オフと表示される

iOS5以降で、端末の言語設定が日本語、アプリの言語設定がJapanの場合のUISwitch

コントロールが利用不可能の状態

enabledプロパティをNOに設定すると、コントロールがが利用不可の状態になり、薄い色で表示されます。

UISwitchの利用不可状態

左が通常状態、右が利用不可状態です。

関連する記事