如何删除警报对话框中的图标?

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

如何删除图标? 我只想显示标题、描述和按钮。

这就是对话框的呈现方式。

enter image description here

Button {
    store.send(.sendRequestButtonTapped)
    showingAlert = true
} label: {
    Text(TR("Send request"))
        .font(MeditUIKitFontFamily.NotoSans.regular.swiftUIFont(size: 14))
}
.buttonStyle(GhostedButtonStyle(
    ButtonProperties(
        size: .small,
        shape: .roundedRectangle,
        background: .bTransparent,
        foreground: MeditUIKitAsset.lightPrimaryP600.swiftUIColor
    )
))
.alert(isPresented: $showingAlert) {
    Alert(
        title: Text(TR("Request sent")),
        message: Text(TR("You will be notified once the lab approves your request.")),
        dismissButton: .default(Text("Ok"), action: {
            showingAlert = false
        })
    )
}
macos swiftui
1个回答
0
投票

您可以使用

dialogIcon
将警报图标设置为透明图像:

.dialogIcon(Image(size: .init(width: 10, height: 10)) { _ in })

这与this基本上是相同的。它仍然会留下图标应有的空间,空白。

正如此评论所说,该图标是 macOS 上警报的组成部分。您应该接受这种设计,或者设计您自己的警报。

您可以使用

sheet
制作类似警报的东西。

.sheet(isPresented: $showingAlert) {
    VStack(spacing: 20) {
        Text("Request Sent")
            .font(.headline)
        Text("You will be notified once the lab approves your request.")
            .multilineTextAlignment(.center)
            .font(.caption)
        Button {
            showingAlert = false
        } label: {
            Text("Ok")
                .frame(maxWidth: .infinity)
                .padding(.vertical, 5)
        }
        .keyboardShortcut(.defaultAction)
        .buttonStyle(.bordered)
    }
    .padding()
    .frame(width: 200)
    .interactiveDismissDisabled()
}
© www.soinside.com 2019 - 2024. All rights reserved.