stretchableImageWithLeftCapWidth: устарело с iOS 5.0. Документы говорят использовать вместо этого свойство capInsets. Вот простой способ сделать это:
Создайте три изображения: минимальную (левую) дорожку, максимальную (правую) дорожку и большой палец. Для этого примера предположим, что минимальное и максимальное изображения треков составляют 34p H x 18p W, что-то вроде этого: и это: .
Создайте изображения как обычно:
UIImage *thumbImage = [UIImage imageNamed:@"sliderThumb.png"];
UIImage *sliderMinTrackImage = [UIImage imageNamed: @"sliderMin.png"];
UIImage *sliderMaxTrackImage = [UIImage imageNamed: @"sliderMax.png"];
В моих примерах изображений шириной 18 точек внутренняя точка слева и справа может быть растянута, чтобы соответствовать дорожке, но концы должны иметь нерастяжимые размеры колпачка шириной 17 точек (следовательно, capInsets ) :
sliderMinTrackImage = [sliderMinTrackImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 17, 0, 0)];
sliderMaxTrackImage = [sliderMaxTrackImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 17)];
Затем установите изображения на вашем UISlider как всегда:
[slider setThumbImage:thumbImage forState:UIControlStateNormal];
[slider setMinimumTrackImage:sliderMinTrackImage forState:UIControlStateNormal];
[slider setMaximumTrackImage:sliderMaxTrackImage forState:UIControlStateNormal];