Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Customizing UISlider look

To customize the visual look of a UISlider you can set the thumb and track images. Part of the track images gets stretched to the appropriate with. From the documentation:

A stretchable region sits between two end cap regions. The end caps define the portions of the image that remain as is and are not stretched. The stretchable region is a 1-point wide area between the end caps that can be replicated to make the image appear longer.

Now the problem I have is that my stretchable region needs to be more than 1-point wide. (It's a pattern) Unfortunately the 1-point width seems to be hard coded in the SDK.

Anyone having an idea how to work around this? Or will I have to write my own slider from scratch for this?

like image 560
tcurdt Avatar asked Apr 16 '09 10:04

tcurdt


2 Answers

Just use transparent images as track images, and put a UIImageView below :)

like image 61
KPM Avatar answered Sep 24 '22 07:09

KPM


I know it's late answer.

But I solved the problem as the following:

4 is the width of the round cap in the png file.

UIImage *minimum = [UIImage imageNamed:@"slider_minimum.png"];
[slider setMinimumTrackImage:[minimum stretchableImageWithLeftCapWidth:4 topCapHeight:0]
                      forState:UIControlStateNormal];
like image 27
Fury Avatar answered Sep 24 '22 07:09

Fury