【发布时间】:2012-05-25 22:30:20
【问题描述】:
代码如下:
UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 180, 35)];
//[segmentedCtrl setTintColor:[UIColor brownColor]];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundColor:[UIColor clearColor]];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:nil] atIndex:0 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:nil] atIndex:1 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:nil] atIndex:2 animated:NO];
[segmentedCtrl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
[segmentedCtrl setSegmentedControlStyle:UISegmentedControlStyleBar];
//[segmentedCtrl setMomentary:YES];
[segmentedCtrl.layer setBorderWidth:1.0];
[segmentedCtrl.layer setCornerRadius:5.0];
但是,当我按下分段控件时,我得到了这个:
有去除蓝色高光的想法吗?
这是我压缩的一个示例项目,它显示了这个问题:
【问题讨论】:
-
你试过用其他图片知道是不是图片吗?然后,您可以尝试删除 UISegmentedControl 子视图的子视图。
-
您是否尝试将 tintColor 设置为
[UIColor clearColor];? -
是的,我有..我已经附加了项目..现在很简单,只是一个带有 UISegmentedButton 的 UIViewController
-
这行代码让我崩溃:[segmentedControl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
-
哦,好的,它只在 4.3 模拟器上崩溃,iOS 5 没问题
标签: iphone objective-c ios ipad