2013-04-07 3 views
-1

Есть ли способ изменить Trackimage для диапазона в UISlider, независимо от положения большого пальца?Изменить изображение для диапазона в 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

Смежные вопросы