当我将整个导航栏设置为黑色(self.navigationController.navigationBar.tintColor = [UIColor blackColor];
)时,通常显示在选中按钮上的颜色未显示在 UISegmentedControl
上。
这是一个 bug 还是我遗漏了什么?
当我将整个导航栏设置为黑色(self.navigationController.navigationBar.tintColor = [UIColor blackColor];
)时,通常显示在选中按钮上的颜色未显示在 UISegmentedControl
上。
这是一个 bug 还是我遗漏了什么?
为了显示色彩渲染,有一些要求:
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
tintColor
是必须要设置的。
您提到您已将tintColor
设置为[UIColor blackColor]
。不幸的是,UISegmentedControl
始终会使用较暗的颜色来显示所选的段,而不是较亮的颜色。尝试将tintColor
设置为[UIColor darkGrayColor]
,您应该能够看到选定的段变色。
[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];
segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;
如果您在导航栏上看到不同的色调颜色,您可能还想在您的uisegmentedcontrol上使用临时属性。
segmentedControl.momentary=YES;
这会清除控件上的高亮色调。
在属性检查器中将分段控件样式更改为条形或斜角。就这些。