【发布时间】:2018-10-12 04:28:52
【问题描述】:
我想要一个自定义滑块,要求 minView 的高度应该是 8 pt,而 maxView 应该是 4 pt,可见角应该是圆角的。
我将滑块的最小和最大图像作为 0.0 的 alpha 清晰图像给出
对于 maxView,我创建了一个 UIView 并赋予它与滑块宽度相等的宽度,并使其角为圆形。
对于minView,我创建了一个UIView,它的前导等于滑块的前导,尾随应该等于拇指的中心。
这是我所做的逻辑。
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 的拇指。
【问题讨论】:
-
为什么要使用附加视图?使用
setMinimumTrackImage和setMaximumTrackImage。 -
我做了,圆角不好看。
-
你指的是哪个圆角?
-
Slider 的 minImage 和 maxImage 的圆角。
标签: ios swift uiview nslayoutconstraint uislider