J'ai implémenté UISlider et j'ai besoin de régler la hauteur de la piste. J'ai trouvé ceci mais ça ne marche pas.Hauteur de la piste UISlider
self.slider.trackRect(forBounds: CGRect(x: 0, y: 0, width: 100, height: 100))
J'ai implémenté UISlider et j'ai besoin de régler la hauteur de la piste. J'ai trouvé ceci mais ça ne marche pas.Hauteur de la piste UISlider
self.slider.trackRect(forBounds: CGRect(x: 0, y: 0, width: 100, height: 100))
trouvé cela, mais sa ne fonctionne pas
Parce que vous utilisez mal. Vous n'avez pas appel il. Vous sous-classez et annulez.
Cependant, la bonne approche consiste à fournir de nouvelles images pour la piste, avec setMinimumTrackImage
et setMaximumTrackImage
.
Ok ... J'ai utilisé la réponse de matt + un exemple fourni et j'ai personnalisé le code pour mes besoins.
let coinEnd = UIImage(/*HERE_LEFT_BLANK_IMG*/).resizableImage(withCapInsets:
UIEdgeInsetsMake(0,7,0,7), resizingMode: .stretch)
.
.
.
.
override func trackRect(forBounds bounds: CGRect) -> CGRect {
var result = super.trackRect(forBounds: bounds)
result.origin.x = 0
result.size.width = bounds.size.width
result.size.height = 10 //added height for desired effect
return result
}
override func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {
return super.thumbRect(forBounds:
bounds, trackRect: rect, value: value)
.offsetBy(dx: 0/*Set_0_value_to_center_thumb*/, dy: 0)
}
puis d'hériter ceci à mon Slider et woala.
Ceci est mon résultat souhaité.
Toute la grêle mate ... merci.
Exemple: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch12p585slider/ch25p860slider/MySlider.swift – matt