Desidero utilizzare un'immagine per la traccia UISlider. Non voglio un colore a sinistra del pollice e un altro a destra. Voglio solo un'immagine statica su tutta la traccia. Possibile?iOS - immagine personalizzata per UISlider
risposta
Per impostare l'immagine sul dispositivo di scorrimento è possibile usare il setMinimumTrackImage, setMaximumTrackImage metodi. Per i tuoi requisiti, imposta entrambi sulla stessa immagine.
iOS 5 e
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];
Per più si prega di consultare questi link:
Basta impostare entrambi i lati sulla stessa immagine. Potresti voler creare due immagini separate con lo stesso colore/motivo se vuoi gli angoli arrotondati alle estremità.
[[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];
[[Aspetto UISlider] setThumbImage: [UIImage imageNamed: @ "ball.png"] forState: UIControlStateHighlighted]; per evitare che il pollice torni alla sua immagine originale mentre scorre. –
Grazie. Questo funziona. Non ho avuto bisogno di essere estensibile, quindi ho appena usato imageNamed. – soleil
grazie per il tuo commento :) –
'stretchableImageWithLeftCapWidth: topCapHeight:' è deprecato. Sostituirlo con 'resizableImageWithCapInsets: UIEdgeInsetsMake (0, 7, 0, 7) resizingMode: UIImageResizingModeStretch'. –