私はUISliderを実装しており、トラックの高さを調整する必要があります。 これが見つかりましたが、動作しません。UISliderトラックの高さ
self.slider.trackRect(forBounds: CGRect(x: 0, y: 0, width: 100, height: 100))
私はUISliderを実装しており、トラックの高さを調整する必要があります。 これが見つかりましたが、動作しません。UISliderトラックの高さ
self.slider.trackRect(forBounds: CGRect(x: 0, y: 0, width: 100, height: 100))
これを見つけたが、あなたはそれが間違って使っているので、そのは
を働いていません。 と呼んではいけません。あなたはサブクラス化し、はを上書きします。
しかし、適切なアプローチは、トラックに新しい画像を提供することです。setMinimumTrackImage
とsetMaximumTrackImage
です。
Ok ...マットの答え+提供された例を使用し、自分のニーズに合わせてコードをカスタマイズしました。
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)
}
これを私のSliderとwoalaに継承します。
これは私の望ましい結果です。
すべてはあなたに感謝...マット雹。
例:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch12p585slider/ch25p860slider/MySlider.swift – matt