【问题标题】:How to decrease Slider ball size?如何减小滑块球的大小?
【发布时间】:2022-08-06 16:35:12
【问题描述】:

有没有办法减少或增加 swiftui 中的滑块球大小?

    标签: swiftui


    【解决方案1】:

    SwiftUI Slider 不提供自定义“拇指”的 API。

    UISlider 有一个 setThumbImage(_:for:),可让您自定义拇指的外观。您可以为UISlider 编写自己的UIViewRepresentable 包装器。这就是我要做的。

    您也可以尝试使用the SwiftUI-Introspect package 访问底层UISlider 进行自定义,但我还没有尝试过,所以我不知道它的效果如何。它也可能会在 SwiftUI 的未来版本中中断。

    【讨论】:

      【解决方案2】:

      您还可以添加 .controlSize(_:) 修饰符。 选项包括:.mini、.small 和 .regular

      【讨论】:

        【解决方案3】:

        由于某种原因 .controlSize(_:) 修饰符对我不起作用。但我找到了一个不错的解决方案,无需使用UIViewRepresentable 和第三方库。只需在 .onAppear() 修饰符中添加您需要的 UIKit 自定义即可。

        Slider(value: $currentValueProgress, in: 0...100, step: 1)
                    .accentColor(.white)
                    .onAppear {
                        let progressCircleConfig = UIImage.SymbolConfiguration(scale: .small)
                        UISlider.appearance()
                            .setThumbImage(UIImage(systemName: "circle.fill",
                                                   withConfiguration: progressCircleConfig), for: .normal)
                    }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-01-19
          • 2020-08-26
          • 2021-12-30
          • 2016-10-20
          • 2021-10-26
          • 2011-09-03
          • 2016-01-17
          • 2011-09-09
          相关资源
          最近更新 更多