Iphone 如何使黑色UISegmentedControl以可见的选择高亮显示?

Iphone 如何使黑色UISegmentedControl以可见的选择高亮显示?,iphone,ios,uisegmentedcontrol,Iphone,Ios,Uisegmentedcontrol,我在工具栏中有一个简单的分段控件。它是黑色的。当选择其中一个分段时,没有视觉指示器显示这一点。现在,它通常会使选定的线段变暗,但不能使黑色变暗。当按下普通按钮栏按钮时,它会变为浅灰色,表示已按下。如何对分段控件执行相同的操作?您可以使用着色颜色 NSString *firstStr = @"ABC"; NSString *secondStr = @"Catégories"; NSArray *arTemp = [[NSArray alloc] initWithObjects:firstStr,

我在工具栏中有一个简单的分段控件。它是黑色的。当选择其中一个分段时,没有视觉指示器显示这一点。现在,它通常会使选定的线段变暗,但不能使黑色变暗。当按下普通按钮栏按钮时,它会变为浅灰色,表示已按下。如何对分段控件执行相同的操作?

您可以使用着色颜色

 NSString *firstStr = @"ABC";
NSString *secondStr = @"Catégories";
NSArray *arTemp = [[NSArray alloc] initWithObjects:firstStr, secondStr, nil];
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:arTemp];
[arTemp release];
arTemp = nil;
segment.segmentedControlStyle = UISegmentedControlStyleBar;
segment.tintColor = [UIColor darkGrayColor];
  • 你看过ios5的新外观代理了吗?这应该能帮你解决问题

  • 如果您还需要ios5之前的支持,我所看到的是,制作您自己的分段控件非常简单——简单到一组带有自定义背景图像的按钮(并且在选择一个按钮时取消选择其他按钮)或更彻底的方法,如本期文章所述

    上面链接中的站点也有一个很好的讨论,讨论了如何在封盖被切断的情况下为分段控件制作按钮图像

  • 第三个想法是,使用常规分段控件,将色调设置为比黑色稍浅的灰色,然后播放触摸事件(内部触摸,外部触摸),基本上反转分段控件的正常行为,使控件上的黑色按钮的行为与所选按钮的行为类似。然而,我认为这与苹果的意图背道而驰(尽管iOS5中的新提醒应用程序就是这么做的),我还没有尝试过它,看看是否有任何细微的差别会使它无法工作


  • 我想听听你最后是如何解决这个问题的。祝你好运

    不是我想要的。我只需要选择灰色的部分,而不是所有的部分。我知道这是你想要的相反;选中的是黑色,未选中的是黑色。我已经很久没有写那个代码了,在一些失败的测试之后,我就这么做了。