如何更改 UISegmentedControl 中禁用段的色调
how to change the tint color of disable segment in UISegmentedControl
如何在分段控件中更改禁用段的色调。
我得到了排序 segmentedControl.subviews 的解决方案,下面是 swift 代码,请将其转换为 objective c.
@IBAction func indexChanged(sender: UISegmentedControl) {
let sortedViews = sender.subviews.sort( { [=10=].frame.origin.x < .frame.origin.x } )
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.tintColor = UIColor.blueColor()
} else {
view.tintColor = UIColor.lightGrayColor()
}
}
}
let sortedViews = segmentedControlOutletVariable.subviews.sort( { [=10=].frame.origin.x < .frame.origin.x } )
sortedViews[0].tintColor = UIColor.blueColor()
检查以下代码:
1.It 将绿色分配给选定的段。(segment-2)
2.Assigns 未选中但启用的蓝色(段 1 和 3)。
3.Assigns 禁用段的浅灰色。(段 4)
-(IBAction)segmentedTapped:(UISegmentedControl*)sender{
for(int i=0;i<[sender.subviews count];i++)
{
if ([[sender.subviews objectAtIndex:i]isEnabled])
{
if([[sender.subviews objectAtIndex:i]isSelected])
{
UIColor *tintcolor=[UIColor greenColor];
[[sender.subviews objectAtIndex:i] setTintColor:tintcolor]; //sets green color for selected segment which is enabled
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor blueColor]]; //sets blue colour for remaining segments which are enabled but not selected.
}
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor lightGrayColor]];//sets ight gray for disabled segment.
}
}
}
结果将是:
如果您想了解更多信息,可以从此处获取:
UISegmentedControl selected segment color
如何在分段控件中更改禁用段的色调。 我得到了排序 segmentedControl.subviews 的解决方案,下面是 swift 代码,请将其转换为 objective c.
@IBAction func indexChanged(sender: UISegmentedControl) {
let sortedViews = sender.subviews.sort( { [=10=].frame.origin.x < .frame.origin.x } )
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.tintColor = UIColor.blueColor()
} else {
view.tintColor = UIColor.lightGrayColor()
}
}
}
let sortedViews = segmentedControlOutletVariable.subviews.sort( { [=10=].frame.origin.x < .frame.origin.x } )
sortedViews[0].tintColor = UIColor.blueColor()
检查以下代码:
1.It 将绿色分配给选定的段。(segment-2)
2.Assigns 未选中但启用的蓝色(段 1 和 3)。
3.Assigns 禁用段的浅灰色。(段 4)
-(IBAction)segmentedTapped:(UISegmentedControl*)sender{
for(int i=0;i<[sender.subviews count];i++)
{
if ([[sender.subviews objectAtIndex:i]isEnabled])
{
if([[sender.subviews objectAtIndex:i]isSelected])
{
UIColor *tintcolor=[UIColor greenColor];
[[sender.subviews objectAtIndex:i] setTintColor:tintcolor]; //sets green color for selected segment which is enabled
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor blueColor]]; //sets blue colour for remaining segments which are enabled but not selected.
}
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor lightGrayColor]];//sets ight gray for disabled segment.
}
}
}
结果将是:
如果您想了解更多信息,可以从此处获取:
UISegmentedControl selected segment color