オフのときは次のようになります。
私はもっと灰色の背景を好みますが。本当にUIImageViewを使用する必要がありますか?
オフのときは次のようになります。
私はもっと灰色の背景を好みますが。本当にUIImageViewを使用する必要がありますか?
iOS7 UISwitch の塗りつぶしの色を変更する方法を次に示します。
まず、QuartzCore をインポートする必要があります。
#import <QuartzCore/QuartzCore.h>
次に、背景色を設定し、UISwitch の角を丸くします。
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(0.0, 0.0, 51.0, 31.0)];
mySwitch.backgroundColor = [UIColor redColor];
mySwitch.layer.cornerRadius = 16.0; // you must import QuartzCore to do this.
[self addSubview:mySwitch];
これにより、カスタムのオフ (背景) 色を持つ UISwitch が得られます。
これが誰かを助けることを願っています:)
setOnTintColor
のプロパティをUISwitch
希望の色に設定できます。
のオフ フィル カラーを変更するための API サポートはありませんUISwitch
。
を調整するtintColor
とアウトラインのみに影響し、 を調整するbackgroundColor
と、丸い境界の外側の部分を含むフレーム全体に影響します。
その背後に適切な形状の不透明を配置するか、より簡単に、オフの塗りつぶし色を設定できるMBSwitchUIView
などのカスタム オープン ソース実装を使用する必要があります。
[UIColor colorWithPatternImage] を使用して、画像を背景として使用することもできます。
mySwitch.onTintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"toggle-bg-on"]];
mySwitch.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"toggle-bg-off"]];