在 SwiftUI 中更改滑块拇指

Posted

技术标签:

【中文标题】在 SwiftUI 中更改滑块拇指【英文标题】:Changing Slider thumb in SwiftUI 【发布时间】:2021-08-27 15:14:28 【问题描述】:

是否可以像在 UIKit 中使用 UISlider 一样在 SwiftUI 中更改 Slider 的拇指?使用 UISlider,您所要做的就是: self.setThumbImage(UIImage(named: "Play_black"), for: .normal)

【问题讨论】:

这能回答你的问题吗? How customise Slider blue line in SwiftUI? 【参考方案1】:

您可以使用SwiftUI-Introspect 来做到这一点。

您基本上只是从 SwiftUI 的Slider 访问底层的UISlider,然后将其设置在那里。这比创建自定义滑块或制作可表示的滑块要容易得多。

代码:

struct ContentView: View 
    @State private var value: Double = 0

    var body: some View 
        Slider(value: $value)
            .introspectSlider  slider in
                slider.setThumbImage(UIImage(named: "Play_black"), for: .normal)
            
    

结果(临时图像):

【讨论】:

【参考方案2】:

您不能在 SwiftUI 中简单地修改 Slider 的拇指。 但是,您可以创建自定义滑块。

这里是一个例子:https://swiftuirecipes.com/blog/custom-slider-in-swiftui

【讨论】:

以上是关于在 SwiftUI 中更改滑块拇指的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中使用滑块创建音频播放器单元格

您将如何在 swiftUI/Swift 的滑块轨道中绘制节点?

SwiftUI 中互连的多个滑块

DragGesture 块在 SwiftUI 中触摸滑块

如何在 SwiftUI 中停止快速移动视图的频闪

如何使用 SwiftUI 拖动工作滑块