#pragma mark --分段控制器
- (UISegmentedControl *)segController{
if (!_segController) {
_segController = [[UISegmentedControl alloc]initWithItems:_buyTypeArr];
_segController.selectedSegmentIndex = 0;
_segController.tintColor = [UIColor colorWithHexString:@"fb4e12"];
if (@available(iOS 13, *)) {
UIColor *tintColor = [_segController tintColor];
UIImage *tintColorImage = [self imageWithColor:tintColor];
//正常背景色
[_segController setBackgroundImage:[self imageWithColor:[UIColor whiteColor]] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
//选中时的背景色
[_segController setBackgroundImage:tintColorImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
//高亮
[_segController setBackgroundImage:[self imageWithColor:tintColor] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
//选中时的前景色
[_segController setBackgroundImage:tintColorImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
//正常下的文字
[_segController setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor colorWithHexString:@"777777"], NSFontAttributeName: [UIFont systemFontOfSize:13]} forState:UIControlStateNormal];
//选中时的文字
[_segController setTitleTextAttributes:@{NSForegroundColorAttributeName: UIColor.whiteColor, NSFontAttributeName: [UIFont systemFontOfSize:13]} forState:UIControlStateSelected];
//驱动修改
[_segController setDividerImage:tintColorImage forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
//边框样式
_segController.layer.borderWidth = 1;
_segController.layer.borderColor = [tintColor CGColor];
_segController.selectedSegmentTintColor = tintColor;
}else{
[_segController setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13],NSForegroundColorAttributeName:[UIColor colorWithHexString:@"777777"]} forState:UIControlStateNormal];
[_segController setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13],NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateSelected];
_segController.tintColor = [UIColor colorWithHexString:@"fb4e12"];
}
[_segController addTarget:self action:@selector(segControllerChange) forControlEvents:UIControlEventValueChanged];
}
return _segController;
}
- (UIImage *)imageWithColor: (UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}