【发布时间】:2019-07-08 09:26:07
【问题描述】:
我正在使用 Apple 的 SwiftUI 框架创建一个 iOS 应用程序。因为我需要检测用户是否点击了屏幕的特定区域,所以我显然使用了一个按钮。
问题在于该区域包含一个图像和一个文本,并且由于按钮自动将其内容赋予蓝色,因此图像也是彩色的,因此它不是一个图像,而是一个蓝色圆角矩形。
据说一张图片值一千字,由于我不擅长解释,这里有一个图形演示会发生什么:
这是因为按钮将.foregroundColor(.blue) 添加到图像中。
如何避免/禁用向其组件添加样式的按钮?
编辑:这是我的按钮代码:
ContentView.swift:
Button(action: {/* other code */}) {
PackageManagerRow(packageManager: packageManagersData[0])
}
PackageManagerRow.swift:
struct PackageManagerRow : View {
var packageManager : PackageManager
var body: some View {
VStack {
HStack {
Image(packageManager.imageName)
.resizable()
.frame(width: 42.0, height: 42.0)
Text(verbatim: packageManager.name)
Spacer()
Image(systemName: "checkmark")
.foregroundColor(.blue)
.opacity(0)
}.padding(.bottom, 0)
Divider()
.padding(.top, -3)
}
}
}
【问题讨论】:
-
你能显示你用来创建按钮的代码吗?
-
@Fogmeister 当然,看看我的编辑。