Выровнять изображение большого пальца UISlider - target-c - PullRequest
9 голосов
/ 24 февраля 2012

Я настроил UISlider, но мое изображение большого пальца выглядит странно, я имею в виду, что его положение не выровнено по центру:

enter image description here

Но должно быть так:

enter image description here

А вот и код:

UIImage *leftTrack = [[UIImage imageNamed:@"blueTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0];
UIImage *rightTrack = [[UIImage imageNamed:@"whiteTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0];
[slider setThumbImage:[UIImage imageNamed:@"thumbButton.png"] forState:UIControlStateNormal];
[slider setMinimumTrackImage:leftTrack forState:UIControlStateNormal];
[slider setMaximumTrackImage:rightTrack forState:UIControlStateNormal];

Где может быть проблема?

EDIT: Я нашел решение этой проблемы. Фон изображения большого пальца был прозрачным, и я не видел, чтобы изображение большого пальца не было выровнено по центру:

enter image description here

1 Ответ

5 голосов
/ 05 июня 2013

Есть два способа:

Первый - использовать

- (CGRect)trackRectForBounds:(CGRect)bounds;

или

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;

методы UISlider при создании подкласса для размещения большого пальца так, как вы хотите

Второй способ - настроить изображение:

enter image description here

...