在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 内选定列表项的背景颜色