如何在 macOS 上使 SwiftUI 的 Picker 无边框/透明?

问题描述 投票:0回答:2

我想在 macOS 上的 SwiftUI 中设置一个无边框且透明的选择器按钮。

我尝试在选取器视图上使用

.background()
.border()
.opacity()
修饰符。但是,我无法使用
.background()
将背景更改为透明颜色,无法使用
.border()
删除边框,并且找不到使用
.opacity()
仅将背景更改为透明的方法。

这是我的选择器代码:

Picker(selection: .constant(1), label: EmptyView()) {
    Text("1").tag(1)
    Text("2").tag(2)
}
.scaledToFit()

.constant(1)
是占位符

目前选择器看起来像这样:

我希望它看起来像 Mac 上的“通讯录”应用程序中的选择器:


更新(2019-11-30)

在尝试了所有可能适用于

Picker
的修饰符和函数之后,我确定到目前为止还没有解决方案。到目前为止,SwiftUI 作为 Storyboard 或 XIB 的替代品还不完整。

swift macos swiftui appkit
2个回答
0
投票

尝试使用 .background(.gray .opacity(0.3)) 这使得背景颜色不透明度,而不是其他,我的意思是文本将保持与以前相同的不透明度。


0
投票

您可以使用无边框按钮样式:

Picker(selection: .constant(1), label: EmptyView()) {
    Text("1").tag(1)
    Text("2").tag(2)
}
.buttonStyle(.borderless)
© www.soinside.com 2019 - 2024. All rights reserved.