2011-11-02 47 views

回答

1

你可以玩的tintColor

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]; 
+0

不是我正在寻找的东西。我只需要选定的部分是灰色的,而不是所有的部分。 –

+0

我知道这与你想要的是相反的;选中的是黑色,未选中的是黑色灰色。自从我编写代码已经很长时间了,经过一些失败的测试后,我就这样去了。 –

1
  1. 你看着iOS5的新外观代理?这应该能够帮助你。

  2. 如果您还需要pre ios5支持,我所看到的是很容易制作您自己的分段控件 - 像使用自定义背景图像的一组按钮一样简单(并取消选择其他按钮当选择一个按钮时)或更详尽的方法,如本文所述idevrecipes.com

    上面的链接中的站点也有一个很好的讨论如何使用按钮切断的分段控件的按钮图像。

  3. 第三个想法是,你需要定期分段控制,将色调设置为比黑色稍浅的灰色阴影,然后使用触摸事件(触摸内部,触摸外部)来基本上反转分段控件的正常行为,使控件上的黑色按钮表现得像选择的那样。不过,我认为这会违反苹果的意图(尽管这是iOS5中的新提醒应用程序所做的),并且我还没有试图查看是否存在任何微妙的细微差别,从而导致无法使用。

我想听听你最终如何解决这个问题。祝你好运!

相关问题