2011-05-03 15 views
7

Quiero personalizar el control deslizante pero no puedo encontrar nada para aplicar, el control deslizante que quiero hacer debe ser algo así como la siguiente imagen. Por favor, cualquiera me sugiera cómo puedo hacerlo ...Personalizar un control deslizante

. enter image description here

Respuesta

9

probar este código ..

CGRect frame = CGRectMake(174, 12.0, 120.0, 40); 
customSlider = [[UISlider alloc] initWithFrame:frame]; 
[customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged]; 
// in case the parent view draws with a custom color or gradient, use a transparent color 
customSlider.backgroundColor = [UIColor clearColor];  
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"] 
          stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 
UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"] 
          stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 
[customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal]; 
[customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 
[customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 
customSlider.minimumValue = 0.0; 
customSlider.maximumValue = 100.0; 
customSlider.continuous = YES; 
customSlider.value = 50.0; 

// Add an accessibility label that describes the slider. 
[customSlider setAccessibilityLabel:NSLocalizedString(@"CustomSlider", @"")]; 
[self.view addSubview:customSlider]; 
customSlider.tag = 1; 
+0

es una buena publicación, pero no coincide con mi amigo de requisitos ... No quiero cambiar el mínimo TrackImage y maximumTrackImage del control deslizante pero estos deben ser estables y deben verse como en la imagen de la pregunta ... ¡Por favor díganme cualquier cosa relacionada con eso! –

+0

+1 aunque la respuesta inferior es la misma que esta, pero la suya tiene un comentario adicional :) –

+0

Copie y pegue desde esta fuente: http://uispec.googlecode.com/svn/trunk/xcode/UICatalogDemo/ControlsViewController.m – DarkDust

8

Prueba este

CGRect frame = *youe required frame*; 
UISlider * customSlider = [[UISlider alloc] initWithFrame:frame]; 

// in case the parent view draws with a custom color or gradient, use a transparent color 
customSlider.backgroundColor = [UIColor clearColor];  
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"] 
             stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 
UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"] 
             stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 
[customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal]; 
[customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 
[customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 
customSlider.minimumValue = 0.0; 
customSlider.maximumValue = 100.0; 
customSlider.continuous = YES; 
customSlider.value = 50.0; 
[customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged]; 
[self.view addSubView:customSlider]; 
[customSlider release]; 

que da lugar a esto: -

añadir imágenes según su requisito este resultado código en este deslizador

+0

+1 Eso es una solución elegante –

+0

gracias pero es la misma respuesta que dio Aman anteriormente. –

+0

@iphone monstruo este es el código utilizado en la aplicación de muestra UICatalog.En primer lugar, creo que le doy un enlace, pero luego doy solo el código correspondiente.Aman también podría pensar esto, pero de todos modos gud que tienes la solución. :) – Gypsa

Cuestiones relacionadas