0

我正在开发使用最新SDK和Xcode 4.2的iOS 4应用程序。在黑色上更改selectedSegment背景颜色UISegmentedControl

我已经在AppDelegate上以编程方式添加了UINavigationController,并将其设置为黑色。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    viewController.title = @"Menu"; 
    navController = [[UINavigationController alloc] initWithRootViewController:viewController]; 
    navController.navigationBar.tintColor = [UIColor blackColor]; 

    self.window.rootViewController = navController; 

    [self.window makeKeyAndVisible]; 
    return YES; 
} 

在一个视图控制器,我添加了一个UISegmentedControl:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 


    // Do any additional setup after loading the view from its nib. 
    segmentedControl = [[UISegmentedControl alloc] initWithItems: 
              [NSArray arrayWithObjects: 
              [NSString stringWithString:@"Past"], 
              [NSString stringWithString:@"Present"], 
              [NSString stringWithString:@"Future"], 
              nil]]; 

    [segmentedControl addTarget:self action:@selector(segmentedChanged:) forControlEvents:UIControlEventValueChanged]; 
    segmentedControl.frame = CGRectMake(0, 0, 260, 30); 
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
    segmentedControl.selectedSegmentIndex = 0; 

    self.navigationItem.titleView = segmentedControl; 
} 

但是,当我设置一个项目选择,我可以看到它,因为是黑色的。

是否有反正当选择一个项目时设置为另一种颜色?

+0

您可能会收到来自[这]帮助[1] [1]:http://stackoverflow.com/questions/2270526/uisegmentedcontrol-selected-segment-color – mashios 2011-12-30 12:46:50

回答

0

尝试使用segmentedControlIndexChanged,然后检测使用self.segmentedControl.selectedSegmentIndex选择哪一个并更改该段颜色。