UISegmentControl只设置 borderColor

最近工作中有一个需求,要求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]

你可能感兴趣的:(UISegmentControl只设置 borderColor)