如何使用可见的选择突出显示黑色UISegmentedControl?

时间:2011-11-02 14:47:03

标签: iphone ios uisegmentedcontrol

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

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:1)

  1. 您是否看过ios5的新外观代理?那应该可以帮到你。

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

    上的这篇文章所述

    上面链接中的网站也很好地讨论了如何在截断上限的情况下为分段控件制作按钮图像。

  3. 第三个想法是,你采取常规的分段控制,将色调设置为比黑色稍浅的灰色阴影,然后玩触摸事件(内部触摸,外部触摸)基本上反向分段控件的正常行为,使控件上的黑色按钮表现得像是选定的一个。不过我认为这会违背苹果的意图(虽然这是iOS5中新的Reminders应用程序所做的),我还没有尝试过,看看是否有任何微妙的细微差别会导致这种情况无效。

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