UISegmentedControl セグメントにさまざまな色を適用したいと考えていました。ここで多くの人が、特定のセグメントを押したときにティント カラーを設定する方法を尋ねてきました。私がやりたいことは、アプリケーションの存続期間中 (またはビューが画面に表示されるとき) に各セグメントの色合いを設定することです。
ここで質問をスキャンすると、明らかに iOS 6 では各セグメントの tintColor を次のように設定できないことがさまざまな人から指摘されています。
- (void)viewDidLoad
{
[super viewDidLoad];
buttonNames = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue", nil];
colorControl = [[UISegmentedControl alloc] initWithItems:buttonNames];
[[[colorControl subviews] objectAtIndex:0] setTintColor:[UIColor redColor]];
[[[colorControl subviews] objectAtIndex:1] setTintColor:[UIColor greenColor]];
[[[colorControl subviews] objectAtIndex:2] setTintColor:[UIColor blueColor]];
colorControl.segmentedControlStyle = UISegmentedControlStyleBar;
colorControl.momentary = YES;
[colorControl addTarget:self action:@selector(colorSegmentSelected:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:colorControl];
}
XCode 内に iOS 5.0 および 5.1 シミュレーターをインストールし、プロジェクトをターゲット 5.0 および 5.1 に設定しました。どちらの場合も、このコードは機能しません。3 つのセグメントすべての tintColor は灰色でした。
- 各セグメントの色合いを設定する適切な方法は何ですか (ここで間違っていた場合は修正してください。
- このコードが iOS 5 で機能した場合、5.0/5.1 をターゲットにして適切なシミュレーターを使用しても機能しないのはなぜですか?
この件に関するフィードバック/知識に感謝します。ありがとう!