Если цель развертывания не менее iOS 6.0,, вы можете сделать это, используя UIImageResizingModeTile
. Пример кода:
static UIImage *blueYellowStripesImage() {
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100, 9), YES, 0); {
[[UIColor blueColor] setFill];
UIRectFill(CGRectMake(0, 0, 50, 9));
[[UIColor yellowColor] setFill];
UIRectFill(CGRectMake(50, 0, 50, 9));
[[UIColor colorWithWhite:0 alpha:0.4] setFill];
UIRectFillUsingBlendMode(CGRectMake(0, 5, 100, 4), kCGBlendModeNormal);
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
image = [image resizableImageWithCapInsets:UIEdgeInsetsZero resizingMode:UIImageResizingModeTile];
return image;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *image = blueYellowStripesImage();
[self.slider setMinimumTrackImage:image forState:UIControlStateNormal];
[self.slider setMaximumTrackImage:image forState:UIControlStateNormal];
}
Результат:
спасибо, это будет делать это для меня! – user2254535