如何创建自定义 Slider 控件

Posted

技术标签:

【中文标题】如何创建自定义 Slider 控件【英文标题】:How to create a custom Slider control 【发布时间】:2017-01-23 15:32:24 【问题描述】:

我需要做一个这样的滑块。 它需要粘在一行文本上,并且所有文本无论多长都需要相同的大小(一个句子可能比另一个长很多)

我现在的方法是创建一个自定义 UIView 并计算文本的位置并将 CATextLayer 添加到正确的位置。

并处理我自己的平移/点击手势。

有没有更简单的方法来做到这一点?是否可以为此使用UISliderUIlabels 而不是 CATextLayers?

【问题讨论】:

【参考方案1】:

您可以使用带旋转的普通UISlider 使其垂直.transform 来旋转它。例如要使其垂直可以使用

mySlider.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)

然后,使用自定义子类更改您的 UISlider,如下所示。

override func draw(_ rect: CGRect) 
    super.draw(rect)

    self.tintColor = .red
    self.maximumTrackTintColor = .red

【讨论】:

以上是关于如何创建自定义 Slider 控件的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress Divi Slider自定义javascript控件

如何在 Flutter 中自定义 Slider 小部件?

如何在 SwiftUI 中自定义 Slider 蓝线?

10自定义控件

PropertyGrid自定义控件

Nivo Slider 自定义高度/宽度问题