iPhoneの設定には機内モードがあります。この機内モードを設定するUISwitchは他のUISwitchと違いオンのときスイッチの色がオレンジ色になっています。このUISwitchの色をアプリ内で使う方法です。

IMG_0418

CGRect rect = CGRectMake(100.0f, 100.0f, 0.0f, 0.0f);
UISwitch* usiwtch = [[UISwitch alloc] initWithFrame:rect];
[usiwtch setAlternateColors:YES];
[self.view addSubview:usiwtch];

未公開APIを使用していますので、ご使用時にはご注意下さい。また、未公開APIの部分で警告が出ます。下記のコードを入れることにより警告を出さなくすることが出来ます。

@interface UISwitch (UndocumentedAdditions)
- (void)setAlternateColors:(BOOL)alternateColors;
@end

未公開APIを使わずにUISwitchの色を変更したい場合はGitHubに公開されている下記のコードが参考になるでしょう。
homick’s iPhone-Snippets at master – GitHub

関連する投稿