Я реализовал 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
.
Хорошо ... Я использовал матовый ответ + приведенный пример, и я настроил код для своих нужд.
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)
}
затем наследовать это моему ползунку и woala.
Это мой желаемый результат.
Все оклик матовые ... спасибо.
Пример: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch12p585slider/ch25p860slider/MySlider.swift – matt