iOS - пользовательский образ для UISlider

Я хочу использовать изображение для трека UISlider. Я не хочу, чтобы один цвет был слева от большого пальца, а другой - справа. Мне просто нужно одно статичное изображение на всем треке. Возможный?


person soleil    schedule 05.07.2012    source источник


Ответы (3)


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

iOS 5 и ниже

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

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

iOS 5+

UIImage *sliderTrackImage = [[UIImage imageNamed:@"Slider.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 7, 0, 0)];

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

Для получения дополнительной информации, пожалуйста, проверьте эти ссылки:

  1. Руководство по настройке пользовательского интерфейса
  2. http://jasonlawton.com/blog/customizing-uislider-in-iphone/ < / а>
  3. Пользовательский UISlider
  4. Изображение слайдера
person Midhun MP    schedule 05.07.2012
comment
Спасибо. Это работает. Мне не нужно было растягивать его, поэтому я просто использовал imageNamed. - person soleil; 05.07.2012
comment
stretchableImageWithLeftCapWidth:topCapHeight: устарел. Замените его на resizableImageWithCapInsets:UIEdgeInsetsMake(0, 7, 0, 7) resizingMode:UIImageResizingModeStretch. - person Iulian Onofrei; 29.09.2015
comment
@IulianOnofrei: Спасибо за уведомление, я отредактировал свой ответ. - person Midhun MP; 07.10.2015
comment
какой должен быть размер изображения? - person nr5; 10.07.2017

Просто установите обе стороны на одно и то же изображение. Возможно, вы захотите сделать два отдельных изображения с одинаковым цветом / рисунком, если хотите, чтобы на концах были закругленные углы.

person Eric Welander    schedule 05.07.2012

person    schedule
comment
[[Внешний вид UISlider] setThumbImage: [UIImage imageNamed: @ ball.png] forState: UIControlStateHighlighted]; а также для предотвращения возврата большого пальца к исходному изображению при скольжении. - person M.Othman; 12.03.2015