MinView UISlider выходит за рамки и центр большого пальца - PullRequest
0 голосов
/ 12 октября 2018

Мне нужен пользовательский слайдер, и требовалось, чтобы высота minView составляла 8 пт, а maxView должна быть 4 пт, это должны быть закруглены видимые углы.

Я дал минимальное и максимальное изображение слайдера какчистое изображение альфа как 0.0

Для maxView я создал UIView и присвоил ему ширину, равную ширине ползунка, и сделал его углы наклоном.

Для minView я создал UIView и его ведущуюравно ползунку впереди, а трейлинг должен быть равен центру большого пальца.

enter image description here

Вот логика того, что я сделал.

func changeValue() {
    let difference = slider.maximumValue - slider.minimumValue
    let thumbWidth = CGFloat(44/2)
    let scale = (slider.frame.size.width-thumbWidth)/CGFloat(difference)
    let width = scale * CGFloat(slider.value)
    minSlideWidth.constant = width
    self.view.layoutIfNeeded()
}

Но ширина minView не увеличивается, а уменьшается вместе с центром большого пальца.Если вы видите изображение, оно уже пересекло большой палец UIslider.

enter image description here

1 Ответ

0 голосов
/ 12 октября 2018

Как насчет этого подхода?

Настроить свойства UISlide control .

  1. setMinimumTrackImage с изображением 8pt.
  2. setMaximumTrackImage с изображением 4pt.

Изображения дорожек могут быть воссозданы с помощью растягиваемого изображения , чтобы сохранял закругленные углы .Вы можете найти его в разделе Defining a Stretchable Image из UIImage ссылка .Это очень полезно для отслеживания изображения слайд-бара.

...