如何使用swiftui中的事件更改图像样式?

如何使用swiftui中的事件更改图像样式?,swiftui,Swiftui,如何使用swiftui中的事件更改图像样式? 例如:单击按钮时更改图像边框颜色,图像由名称标识 struct DemoImageBorder: View { @State private var highlighted = false var body: some View { VStack { Button("Highlight") { self.highlighted.toggle() } Divider()

如何使用swiftui中的事件更改图像样式? 例如:单击按钮时更改图像边框颜色,图像由名称标识

struct DemoImageBorder: View {
    @State private var highlighted = false

    var body: some View {
        VStack {
            Button("Highlight") { self.highlighted.toggle() }
            Divider()
            Image("some_name_here")
                .border(self.highlighted ? Color.red : Color.clear)
        }
    }
}
这是一个演示

struct DemoImageBorder: View {
    @State private var highlighted = false

    var body: some View {
        VStack {
            Button("Highlight") { self.highlighted.toggle() }
            Divider()
            Image("some_name_here")
                .border(self.highlighted ? Color.red : Color.clear)
        }
    }
}

像这样,只为所需的图像名称更改颜色边框如何:

import SwiftUI

struct ContentView: View {

@State var borderColor = Color.blue
@State var imageName = "xyz"

var body: some View {
    VStack {
        Button(action: {
            self.borderColor = Color.red
            self.imageName = "person.3"
        }){
            Text("Change Image border")
        }
        Image(systemName: "person")
            .resizable()
            .frame(width: 200, height: 200)
            .border(self.imageName == "person" ? borderColor : Color.blue)
        Image(systemName: "person.3")
            .resizable()
            .frame(width: 200, height: 200)
            .border(self.imageName == "person.3" ? borderColor : Color.blue)
    }
}
}

像这样,只为所需的图像名称更改颜色边框如何:

import SwiftUI

struct ContentView: View {

@State var borderColor = Color.blue
@State var imageName = "xyz"

var body: some View {
    VStack {
        Button(action: {
            self.borderColor = Color.red
            self.imageName = "person.3"
        }){
            Text("Change Image border")
        }
        Image(systemName: "person")
            .resizable()
            .frame(width: 200, height: 200)
            .border(self.imageName == "person" ? borderColor : Color.blue)
        Image(systemName: "person.3")
            .resizable()
            .frame(width: 200, height: 200)
            .border(self.imageName == "person.3" ? borderColor : Color.blue)
    }
}
}