Ich möchte ein Bild für die UISlider-Spur verwenden. Ich will nicht eine Farbe auf der linken Seite des Daumens und eine andere Farbe auf der rechten Seite. Ich möchte nur ein statisches Bild über die gesamte Spur. Möglich?iOS - benutzerdefinierte Bild für UISlider
Antwort
Für das Bild auf Ihren Schieberegler einstellen können Sie den setMinimumTrackImage, setMaximumTrackImage Methoden. Für Ihre Anforderung setzen Sie beide auf das gleiche Bild.
iOS 5 und Below
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];
Weitere bitte diese Links überprüfen:
Stellen Sie beide Seiten auf das gleiche Bild. Vielleicht möchten Sie zwei separate Bilder mit der gleichen Farbe/Muster, wenn Sie die abgerundeten Ecken an den Enden möchten.
[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"ball.png"] forState:UIControlStateNormal];
[slider setMinimumTrackImage:[[UIImage imageNamed:@"volume_slider_oragne.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[[UIImage imageNamed:@"volume_strap_gry.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal];
[[UISlider-Darstellung] setThumbImage: [UIImage imageNamed: @ "ball.png"] forState: UIControlStateHighlighted]; , um zu vermeiden, dass der Daumen beim Verschieben wieder in sein ursprüngliches Bild zurückkehrt. –
Dank. Das funktioniert. Ich brauchte es nicht, um dehnbar zu sein, also benutzte ich nur imageNamed. – soleil
danke für deinen Kommentar :) –
'dreachableImageWithLeftCapWidth: topCapHeight:' ist veraltet. Ersetze es durch 'resizableImageWithCapInsets: UIEdgeInsetsMake (0, 7, 0, 7) resizingMode: UIImageResizingModeStretch'. –