代码之家  ›  专栏  ›  技术社区  ›  meersmans

UISegmentedControl的颜色不反应

  •  0
  • meersmans  · 技术社区  · 14 年前

    我都快看一天了!

    我想设置我的UISegmentedControl的色调,但它没有反应。。。

    NSArray *segControlItems = [NSArray arrayWithObjects:
            @"L", 
            @"H",
            @"A",
            nil];
     UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:segControlItems];
    
     segControl.frame = CGRectMake(0, 0, 90, 30);
     segControl.segmentedControlStyle = UISegmentedControlStyleBar;
     segControl.momentary = YES;
     segControl.tintColor = [UIColor greenColor];
    
    
     [segControl addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
    
     UIBarButtonItem *segBarItem = [[UIBarButtonItem alloc] initWithCustomView:segControl];
     self.switchView.navigationItem.rightBarButtonItem = segBarItem;
    
     [segControl release];
     [segBarItem release];
    

    苹果有没有做过像“makeUISegmentedControlsDontSetAnyTintColor”这样的东西? 请帮忙。。。

    一个按钮可以工作: http://img257.imageshack.us/i/schermafbeelding2010102.png/

    但分割后就一团糟了: http://img714.imageshack.us/i/schermafbeelding2010102.png/

    2 回复  |  直到 12 年前
        1
  •  1
  •   jv42    14 年前

    我在使用InterfaceBuilder时没有遇到任何问题。我有三个片段,一些带有标签,一些带有标签+图片,都工作得很好。

        2
  •  1
  •   Mitch Cohen    10 年前

    这是一个 真的很老了 但我今天遇到了这个问题(Xcode 7b5/iOS 9)。在我的例子中,分段控制是导航栏中的一个uibarbuttonem。我可以通过等待下一个运行循环来设置色调,如下所示:

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] init]
    (...additional setup...)
    
    UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];    
    self.navigationItem.rightBarButtonItem = segmentBarItem;
    
    dispatch_async(dispatch_get_main_queue(), ^{
        segmentedControl.tintColor=[UIColor purpleColor];
    });
    
    推荐文章