0

uitableview のヘッダーにセグメント化されたコントロールを追加しました。これはうまくいきます。しかし、何らかの理由で、セグメント化されたボタン (または少なくとも最初のボタンだけ) を赤い背景色にすることはできません。デフォルトのシルバーが読み込まれるだけです。

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView* NEWview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    NEWview.backgroundColor = [UIColor colorWithRed:78.0/255.0f green:88.0/255.0f blue:74.0/255.0f alpha:1.0]; 
    NSArray *itemArray = [NSArray arrayWithObjects: @"Organisations", @"Events", nil];
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
    segmentedControl.frame = CGRectMake(15, 5, 290, 30);
    segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
    segmentedControl.selectedSegmentIndex = 1;
    UIColor *newSelectedTintColor = [UIColor redColor];
    [[[segmentedControl subviews] objectAtIndex:0] setTintColor:newSelectedTintColor];
    [NEWview addSubview:segmentedControl];
    return NEWview;
}

何か案は?助けてくれてありがとう..

4

2 に答える 2

0

セグメント化されたコントロールの色合いは、セグメント化されたコントロールがバー スタイルの場合にのみ機能します。

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.tintColor=[UIColor redColor];
于 2012-08-30T10:58:16.553 に答える
0

選択したセグメントの変更された背景色については、このリンクを参照してください

次のように、タイトルの色を選択して選択しないように設定することもできます。

NSDictionary *normalAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                  [UIFont fontWithName:@"Arial" size:20.0],UITextAttributeFont,
                                  [UIColor colorWithRed:75.0/255.0 green:75.0/255.0 blue:75.0/255.0 alpha:1.0], UITextAttributeTextColor,
                                  [UIColor clearColor], UITextAttributeTextShadowColor,
                                  [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
                                  nil];//[NSDictionary dictionaryWithObject:  [UIColor redColor]forKey:UITextAttributeTextColor];
[segmentCtrl setTitleTextAttributes:normalAttributes forState:UIControlStateNormal];

NSDictionary *selectedAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [UIFont fontWithName:@"Arial" size:20.0],UITextAttributeFont,
                                    [UIColor redColor], UITextAttributeTextColor,
                                    [UIColor clearColor], UITextAttributeTextShadowColor,
                                    [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
                                    nil] ;//[NSDictionary dictionaryWithObject:  [UIColor redColor]forKey:UITextAttributeTextColor];
[segmentCtrl setTitleTextAttributes:selectedAttributes forState:UIControlStateSelected];
于 2012-08-30T10:44:56.880 に答える