Search code examples
ios7uislider

Unable to set UISlider's track tint to "absolute" clearColor


I am trying to set the color of tint on UISlider to clear (make it disappear). I am doing it the easiest way:

[self.seekBar setTintColor:[UIColor clearColor]];
[self.seekBar setMaximumTrackTintColor:[UIColor clearColor]];
[self.seekBar setMinimumTrackTintColor:[UIColor clearColor]];

But I am getting this tiny graphical glitch:

UISlider

Is it a known issue or am I doing something wrong?


Solution

  • You can try this:

    UIGraphicsBeginImageContextWithOptions((CGSize){ 1, 1 }, NO, 0.0f);
    UIImage *transparentImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    [self.seekBar setMinimumTrackImage:transparentImage forState:UIControlStateNormal];
    [self.seekBar setMaximumTrackImage:transparentImage forState:UIControlStateNormal];
    [self.seekBar setTintColor:[UIColor clearColor]];
    

    Hope it helps :)