12

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

这是一个错误还是我错过了什么?

4

6 回答 6

60

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

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

它是tintColor工作所必需的。

您还提到您已tintColor设置为[UIColor blackColor]. 不幸的是,它将始终以较深UISegmentedControl的颜色显示选定的片段,而不是较浅的颜色。尝试将您的设置为,您应该能够看到选定的段更改颜色。tintColor[UIColor darkGrayColor]

于 2010-01-21T06:30:39.133 回答
2

您是否尝试过单独设置分段控件上的色调?

segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;
于 2009-12-12T19:43:31.687 回答
2

尝试使用 tint color [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];
于 2010-02-19T18:21:41.910 回答
2

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

于 2010-09-03T19:53:37.337 回答
2

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

segmentedControl.momentary=YES;

这将从控件中清除高光色调。

于 2013-03-07T08:17:39.380 回答
1

在 Attributes Inspector 中将分段控件样式更改为 Bar 或 Bezeled。就这样。

于 2012-07-19T23:12:01.870 回答