最近工作中有一个需求,要求UISegmentControl的选中背景色和边框色要求不一致,设置tintColor 会将背景色和边框色都进行了修改,最终使用了如下方法
[_sortControl setBackgroundImage:[UIImage imageWithColor:[UIColor chituGreenColor] size:CGSizeMake(1, 27)] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];//the size width has no effect
[_sortControl setBackgroundImage:[UIImage imageWithColor:[UIColor whiteColor] size:CGSizeMake(1, 27)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
_sortControl.tintColor = [UIColor clearColor];
_sortControl.layer.borderColor = [UIColor chituGrey2Color].CGColor;
_sortControl.layer.borderWidth = 0.5;
_sortControl.layer.cornerRadius = 2;
_sortControl.layer.masksToBounds = YES;
其中 [UIImage imageWithColor] 用来将纯色设置成背景图片
[问题:segmentControl中间的分割线没有了...,如果这个无法接受的话,建议使用多个UIButton代替UISegmentControl]