我有以下菜单组件:
Menu {
ForEach(self.options, id: \.self) { option in
Button(action: {
self.selected = option
self.action(option)
}) {
Text(option))
}
}
}
.label: {
Image("menu-image")
}
一切正常,但只要我点击图像打开菜单,它就会在显示下拉菜单时淡出。如何自定义此行为以使图像(或用作菜单按钮的任何视图)不淡出?
答案 0 :(得分:1)
也许试试这个。诀窍是制作一个 ZStack。在我的示例中,我拍摄了一个系统图像...但是您可以拍摄任何您想要的图像。
import SwiftUI
struct NonFadingMenuImage: View {
@State private var menuIsShown = false
var body: some View {
ZStack{
Menu(content: {
Section(header: Text("create options")){
Text("menu option")
}
}, label: {
Image(systemName: "ellipsis.circle")
.foregroundColor(.black)
.padding()
}).onTapGesture {
menuIsShown = true
}
if menuIsShown{
Image(systemName: "ellipsis.circle")
.foregroundColor(.black)
.padding()
.onTapGesture {
menuIsShown = false
}
}
}
}
}