如何在SwiftUI中创建带有图像的按钮?

时间:2019-06-29 20:46:31

标签: swift swiftui

我在SwiftUI中使用以下代码行创建了一个按钮:

Button(action: {
    print("button pressed")
}) {
    Image("marker")
}

但是marker图片会自动变为蓝色。

我想在按钮中使用原始图像。

这是原始的marker.png

enter image description here

但是SwiftUI将其更改为此:

enter image description here

我记得我们在UIButton中有tintColor或类似的东西,但在SwiftUI中找不到它

4 个答案:

答案 0 :(得分:6)

您可以尝试以下方法:

var body: some View {
        Button(action: {
          print("button pressed")

        }) {
            Image("marker")
            .renderingMode(.original)
        }
    }

答案 1 :(得分:6)

SwiftUI

var body: some View {
      HStack {
           Image(uiImage: UIImage(named: "Login")!)
                .renderingMode(.original)
                .font(.title)
                .foregroundColor(.blue)

           Text("Login")
                .font(.title)
                .foregroundColor(.white)
      }
}

答案 2 :(得分:3)

转到图像并将“渲染”更改为“原始图像” enter image description here

答案 3 :(得分:1)

以编程方式进行设置的另一种方法:-

var body: some View {
        Button(action: {
          print("button pressed")

        }) {
            Image("marker")
            .renderingMode(Image.TemplateRenderingMode?.init(Image.TemplateRenderingMode.original))
        }
    }