在swift UI中点击按钮时如何更改背景颜色和图像?

Posted

技术标签:

【中文标题】在swift UI中点击按钮时如何更改背景颜色和图像?【英文标题】:How to change background color and image when it's tapped to the button in swift UI? 【发布时间】:2020-08-13 21:07:19 【问题描述】:

当我点击该点时,我想更改背景颜色并为选择点添加一个好的按钮图像。我怎样才能做到这一点 ?我确实知道如何更改背景颜色,但我不确定如何添加确认图像。我应该使用 ZStack 还是有其他方法可以这样做?

HStack 
                            Button(action: 
                                self.tap1.toggle()
                                
                                
                            ) 
                                Text("")
                                .padding(.horizontal, 10)
                                .padding(.vertical, 5)
                                .background((self.tap1) ? Color(.gray) : Color(.blue)
                                .cornerRadius(4)
                                .padding(.leading, 40)
                            
                            
                            Spacer()
                            
                            Text("Diyabet")
                                .font(.system(size: 20, weight: .regular, design: .rounded))
                                .padding(.trailing, 200)
                                Spacer()
                        .padding(.bottom, 20)
                        
                        
                        HStack 
                            Button(action: 
                                self.tap2.toggle()
                               
                                
                            ) 
                               Text("")
                                .padding(.horizontal, 10)
                                .padding(.vertical, 5)
                                .background(self.tap2  ? Color(.gray) : Color(.blue)
                                .cornerRadius(4)
                                .padding(.leading, 40)
                            
                            
                            Spacer()
                            
                            Text("Yüksek Tansiyon")
                                .font(.system(size: 20, weight: .regular, design: .rounded))
                                .padding(.trailing, 130)
                            Spacer()
                        .padding(.bottom, 20)
                    
                        HStack 
                            Button(action: 
                                self.tap3.toggle()
                                
                            ) 
                                Text("")
                                .padding(.horizontal, 10)
                                .padding(.vertical, 5)
                                .background(self.tap3  ? Color(.gray) : Color(.blue)
                                .cornerRadius(4)
                                .padding(.leading, 40)
                            
                            
                            Spacer()
                            
                            Text("Kalp ve Damar Hastalıkları")
                                .font(.system(size: 20, weight: .regular, design: .rounded))
                                .padding(.trailing, 45)
                            Spacer()
                        .padding(.bottom, 20)

【问题讨论】:

请分享您的代码。 我分享了,很抱歉错过了分享。 【参考方案1】:
@State private var pressed = false

var body: some View 
    ZStack 
        Button(action: 
            self.pressed.toggle()
        ) 
            ZStack 
                Rectangle().fill(self.pressed ? Color.blue : Color.gray)
                if self.pressed 
                    Image(systemName: "checkmark")
                
            
        
    

【讨论】:

以上是关于在swift UI中点击按钮时如何更改背景颜色和图像?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14,Swift UI 2 更改 NavigationLink 内选定列表项的背景颜色

如何在 Swift 中以编程方式更改自定义 UITableViewCell 中按钮的背景颜色?

材质 UI 切换按钮 - 选择时无法更改背景颜色

使用 swift 语言更改按钮背景颜色

当可点击为假时更改按钮的背景颜色

按下时更改操作栏按钮的背景颜色