2013-04-07 43 views
-1

有没有其他方法可以更改UISlider中的范围的TrackImage,而与Thumb的位置无关?更改UISlider中的范围图像

它应该是这样的:

Slider

我已经有滑块没有黄色的范围。我怎样才能达到黄色范围?

回答

2

如果您的部署目标至少为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]; 
} 

结果:

slider with tiled image tracks

+0

谢谢你,这会为我做! – user2254535 2013-04-09 14:57:15