如何在 SwiftUI Toggle 中使用自定义图像

Posted

技术标签:

【中文标题】如何在 SwiftUI Toggle 中使用自定义图像【英文标题】:How to use custom image in SwiftUI Toggle 【发布时间】:2020-07-27 21:49:41 【问题描述】:

我正在尝试使用自定义图像制作切换按钮,目前我可以使用 SF 符号,但不能使用自定义图像。这是切换样式的代码:

struct CheckboxToggleStyle: ToggleStyle 
    func makeBody(configuration: Configuration) -> some View 
        return HStack 
            configuration.label
            Spacer()
            Image(systemName: configuration.isOn ? "checkmark.circle.fill" : "circle.fill")
                .resizable()
                .frame(width: 50.0, height: 50.0)
                .onTapGesture  configuration.isOn.toggle() 
        .frame(width: 50.0, height: 50.0)
    

这在我使用“复选标记”和“圆圈”符号时有效,但当我将其从资产文件夹切换到图像时,我收到错误:

2020-07-27 16:46:06.476638-0500 myProgram[4587:1288628] [SwiftUI] 在主捆绑包的资产目录中找不到名为“MY IMAGE HERE”的图像

【问题讨论】:

【参考方案1】:

您使用的初始化程序仅适用于 SF 符号。它加载系统图像。

你可以替换它:

Image(systemName: "checkmark.circle.fill")

用这个:

Image("myCustomImageFromAssets")

【讨论】:

以上是关于如何在 SwiftUI Toggle 中使用自定义图像的主要内容,如果未能解决你的问题,请参考以下文章

切换 swiftUI toggle() 时如何触发操作?

如何在 SwiftUI 视图中使用自定义 UI 控件,例如 Button?

导航时如何在 SwiftUI 中使用自定义视图转换?

如何在切换 SwiftUI 中使用 json 属性?

如何在 SwiftUI 中使用 Font Awesome 作为自定义字体?

我们如何在 SwiftUI 中制作自定义 GeometryReader?