2013-11-19 4 views
4

мне нужно изменить цвет фона в UISlider, моя цель состоит в том, чтобы создать UISlider, как на картинке ниже:Изменение фонового изображения UISlider?

UISlider

Я попытался setBackgroundImage метод, но это как кадр ползунка.

Как изменить фоновое изображение слайдера?

+0

разместить свой код, то мы можем в состоянии понять – square

ответ

6

1. Добавить изображение с таким же размером под слайдером. Установите для него многоцветное изображение.

2. Используйте прозрачное изображение, как слева и справа от слайдера изображения

UIImage *clearImage = [[UIImage imageNamed:@"clearSliderBar.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0]; 
    [slider setMinimumTrackImage:clearImage forState:UIControlStateNormal]; 
    [slider setMaximumTrackImage:clearImage forState:UIControlStateNormal]; 

This is 20x8 sample transparet image for test

+4

вам не нужно явно прозрачное изображение с именем clearSliderBar, вы можете просто сделать [[UIImage Alloc] инициализации]; и изображение будет прозрачным. –

+0

Спасибо за информацию @KaanDedeoglu. Я также обновлю свой код :-) –

0

Вы попробовали принятый ответ с here? Это делает трюк:

UIImage *sliderLeftTrackImage = [[UIImage imageNamed: @"SliderMin.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 
UIImage *sliderRightTrackImage = [[UIImage imageNamed: @"SliderMax.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 
[mySlider setMinimumTrackImage: sliderLeftTrackImage forState: UIControlStateNormal]; 
[mySlider setMaximumTrackImage: sliderRightTrackImage forState: UIControlStateNormal]; 
0

Для установки изображения на ваш слайдер можно использовать setMinimumTrackImage, setMaximumTrackImage методы. Для вашего требования установите оба изображения.

UIImage *slider = [[UIImage imageNamed: @"Slider.png"] stretchableImageWithLeftCapWidth: 7 topCapHeight: 0]; 

    [mySlider setMinimumTrackImage: slider forState: UIControlStateNormal]; 
    [mySlider setMaximumTrackImage: slider forState: UIControlStateNormal]; 

Для более пожалуйста, проверьте эти ссылки:

http://jasonlawton.com/blog/customizing-uislider-in-iphone/

Custom Slider

Another Custom code

Custom with Popover value display Slider

Slider image

2

Быстрый Swift 3 перевод принятого ответа. Не забудьте добавить свои пользовательские цвета/представление позади слайдера, прежде чем сделать изображения дорожек прозрачными.

let slider = UISlider() 
let clearImage = UIImage().stretchableImage(withLeftCapWidth: 14, topCapHeight: 0) 
slider.setMinimumTrackImage(clearImage, for: .normal) 
slider.setMaximumTrackImage(clearImage, for: .normal) 
Смежные вопросы