2011-05-03 1 views
7

Je souhaite personnaliser le contrôle de curseur mais ne trouve rien à appliquer. Le curseur que je souhaite créer doit ressembler à l'image suivante. S'il vous plaît quelqu'un me suggère comment puis-je le faire ....Personnalisation d'un contrôle de curseur

. enter image description here

Répondre

9

essayer ce code ..

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

c'est un bon post mais il ne correspond pas à mon besoin d'ami .. Je ne veux pas changer le minimumTrackImage et le maximumTrackImage du slider mais ceux-ci doivent être stables et devraient ressembler à l'image dans la question..S'il vous plaît dites-moi n'importe quoi lié à cela! –

+0

+1 bien que la réponse du bas soit la même que celle-ci mais la vôtre a un commentaire supplémentaire :) –

+0

Copiez et collez depuis cette source: http://uispec.googlecode.com/svn/trunk/xcode/UICatalogDemo/ControlsViewController.m – DarkDust

8

Essayez cette

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

il résulte en ceci: -

ajouter des images selon vos besoins le résultat du code dans ce curseur

+0

+1 C'est une solution élégante –

+0

merci mais c'est la même réponse que donnée par Aman plus tôt. –

+0

@iphone monster c'est le code utilisé dans l'exemple d'application UICatalog. Premièrement, je pense à vous donner un lien mais ensuite je donne seulement le code pertinent.Aman pourrait aussi penser ça mais de toute façon ça vous donne la solution. :) – Gypsa

Questions connexes