2012-02-24 7 views
8

He personalizado mi UISlider pero la imagen pulgar tiene un aspecto extraño, quiero decir que es la posición no alineada por el centro:Alinear UISlider - Objective-C

enter image description here

Pero debería ser así:

enter image description here

Y aquí es código:

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]; 

¿Dónde podría estar el problema?

EDIT: Encontré una solución a este problema. fondo de la imagen Pulgar fue transparente, y yo no he visto que el pulgar no fue alineado por el centro:

enter image description here

+0

Su imagen Estiramiento no es exactamente tan alta como la implementación interna de UISlider lo requiere ser. Intenta hacerlo menos alto. –

+0

¿Podría mostrarme cómo? –

+1

Bien - use GIMP, Photoshop, Paint.net ... :) –

Respuesta

4

Hay dos maneras:

Firs una es utilizar

- (CGRect)trackRectForBounds:(CGRect)bounds;

o

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

métodos de UISlider cuando la subclasificación para diseñar el pulgar de la manera deseada

La segunda manera es ajustar su obra de arte:

enter image description here

Cuestiones relacionadas