你可以自定义 SwiftUI 上下文菜单的激活高亮颜色吗?

5

我有一个显示在黑色背景上的视图,并需要添加一个上下文菜单。这是我正在使用的代码:

Text(rowModel.detail)
     .font(detailFont)
     .foregroundColor(Color(/* a light color */))
     .contextMenu {
     Button(action: {
         UIPasteboard.general.string = self.rowModel.detail
     }, label: {
         Text("Copy")
     })
 }

当菜单被激活并且设备处于明亮模式时,效果如下: 上下文菜单高亮的截图 我在网上找不到任何关于可以更改高亮颜色的信息。但是以防万一,我想在这里问一下。能做到吗?谢谢!

你有没有碰巧找到解决方案? - iOS dev
1个回答

0

您可以这样做来为按钮设置自定义高亮状态

struct YourButtonStyle: ButtonStyle {

  func makeBody(configuration: Self.Configuration) -> some View {
    configuration.label
      .padding()
      .foregroundColor(.white)
      .background(configuration.isPressed ? Color.green : Color.blue)
      .cornerRadius(8.0)
  }

}


// To use it
Button(action: {
    UIPasteboard.general.string = self.rowModel.detail
}, label: {
    Text("Copy")
})
.buttonStyle(YourButtonStyle())

即使按钮只是被轻触而非长按,这也会改变背景颜色。 - Andrew Madsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接