Если вы начинаете настраивать UISlider с графикой, вы должны установить как минимум 3 графических элемента.
Правая и левая сторона трекбара и изображение большого пальца:
Вот как я это сделал в последний раз, когда использовал UISlider:
CGRect frame = CGRectMake(20.0f, 6.0, 280.0f, 20.0f);
UISlider *customSlider = [[UISlider alloc] initWithFrame:frame];
[customSlider addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged];
[customSlider addTarget:self action:@selector(sliderStart:) forControlEvents:UIControlEventTouchDown];
[customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpInside];
[customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpOutside];
// in case the parent view draws with a custom color or gradient, use a transparent color
customSlider.backgroundColor = [UIColor clearColor];
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"slider.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
UIImage *stetchRightTrack = [[UIImage imageNamed:@"slider_right.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
[customSlider setThumbImage: [UIImage imageNamed:@"slider-knop.png"] forState:UIControlStateNormal];
[customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
[customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
В моей оптике нет смысла иметь подсвеченное состояние для UISlider или любое другое состояние, ваш палец, скорее всего, закроет изображение большого пальца, поэтому пользователь никогда его не увидит.
Я не уверен, что это просто происходит от UIButton и, возможно, он не может справиться с этим?