UISegmentedControl选择的色调不显示

时间:2009-12-12 19:15:33

标签: iphone uinavigationcontroller uinavigationbar

当我将整个导航栏设置为黑色(UISegmentedControl)时,通常在所选按钮的self.navigationController.navigationBar.tintColor = [UIColor blackColor];上显示的色调未显示。

这是一个我还缺少的错误吗?

6 个答案:

答案 0 :(得分:60)

为了显示色调颜色,有几个要求:

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

tintColor需要工作。

您还提到将tintColor设置为[UIColor blackColor]。不幸的是,UISegmentedControl将始终显示带有较暗颜色的选定细分,从不打火机。尝试将tintColor设置为[UIColor darkGrayColor],您应该能够看到所选的段更改颜色。

答案 1 :(得分:2)

您是否尝试过分别在分段控件上设置色调?

segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;

答案 2 :(得分:2)

尝试使用色调颜色[UIColor colorWithWhite:80.0/255.0 alpha:1.0]。 这使得黑色变黑,并且在选择后允许所选片段变暗。您可以将白色组件设置为合适。

示例代码:

UISegmentedControl *aSegmentedControl = [[UISegmentedControl alloc] initWithItems:arrItems];
aSegmentedControl.frame = CGRectMake(55, 382, 210, 32);
aSegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
aSegmentedControl.selectedSegmentIndex = 0;
aSegmentedControl.tintColor = [UIColor colorWithWhite:80.0/255.0 alpha:1.0];

答案 3 :(得分:2)

在iphone 3.0上,如果你想在NavigationController中添加分段控件,请先执行此操作,然后在执行此操作后更改tintcolor。

答案 4 :(得分:2)

如果您在导航栏上看到不同的色调颜色,您可能还想在uisegmentedcontrol上使用瞬时属性。

segmentedControl.momentary=YES;

这会清除控件中的高光色调。

答案 5 :(得分:1)

在“属性”检查器中将分段控件样式更改为“条形”或“Bezeled”。就是这样。