當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift Never confirmationDialog(_:isPresented:titleVisibility:actions:message:)用法及代碼示例


用法一

實例方法

confirmationDialog(_:isPresented:titleVisibility:actions:message:)

當給定條件為真時,使用標題的文本視圖顯示帶有消息的確認對話框。

聲明

func confirmationDialog<A, M>(
    _ title: Text,
    isPresented: Binding<Bool>,
    titleVisibility: Visibility = .automatic,
    actions: () -> A,
    message: () -> M
) -> some View where A : View, M : View

參數

title

對話框的標題。

isPresented

與確定是否顯示對話框的布爾值的綁定。當用戶按下或點擊對話框的默認操作按鈕時,係統將此值設置為 false ,關閉對話框。

titleVisibility

對話框標題的可見性。默認值為 Visibility/automatic

actions

返回對話框操作的視圖構建器。

message

返回對話框消息的視圖構建器。

詳述

在下麵的示例中,按鈕根據綁定的布爾變量的值有條件地顯示確認對話框。當布爾值設置為 true 時,係統會顯示一個確認對話框,其中包含取消操作和破壞性操作。


struct ConfirmEraseItems: View {
    @State private var isShowingDialog = false
    var body: some View {
        Button("Empty Trash") {
            isShowingDialog = true
        }
        .confirmationDialog(
            Text("Permanently erase the items in the trash?"),
            isPresented: $isShowingDialog
        ) {
            Button("Empty Trash", role: .destructive) {
                // Handle empty trash action.
            }
        } message: {
            Text("You cannot undo this action.")
        }
    }
}

確認對話框中的所有操作將在操作運行後關閉對話框。默認按鈕將顯示得更加突出。您可以通過為其分配KeyboardShortcut/defaultAction 鍵盤快捷鍵來影響默認按鈕。

係統可以根據它們的作用和突出度對按鈕重新排序。

默認情況下,對話框包含標準的關閉操作。如果您提供一個角色為 ButtonRole/cancel 的按鈕,則該按鈕將代替默認的關閉操作。您不必使用取消按鈕的操作來關閉演示文稿。

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

用法二

實例方法

confirmationDialog(_:isPresented:titleVisibility:actions:message:)

當給定條件為真時,使用標題的字符串變量顯示帶有消息的確認對話框。

聲明

func confirmationDialog<S, A, M>(
    _ title: S,
    isPresented: Binding<Bool>,
    titleVisibility: Visibility = .automatic,
    actions: () -> A,
    message: () -> M
) -> some View where S : StringProtocol, A : View, M : View

參數

title

用作對話框標題的文本字符串。

isPresented

與確定是否顯示對話框的布爾值的綁定。當用戶按下或點擊對話框的默認操作按鈕時,係統將此值設置為 false ,關閉對話框。

titleVisibility

對話框標題的可見性。默認值為 Visibility/automatic

actions

返回對話框操作的視圖構建器。

message

返回對話框消息的視圖構建器。

詳述

在下麵的示例中,按鈕根據綁定的布爾變量的值有條件地顯示確認對話框。當布爾值設置為 true 時,係統會顯示一個確認對話框,其中包含取消操作和破壞性操作。


struct ConfirmEraseItems: View {
    @State private var isShowingDialog = false
    var title: String
    var body: some View {
        Button("Empty Trash") {
            isShowingDialog = true
        }
        .confirmationDialog(
            title,
            isPresented: $isShowingDialog
        ) {
            Button("Empty Trash", role: .destructive) {
                // Handle empty trash action.
            }
            Button("Cancel", role: .cancel) {
                isShowingDialog = false
            }
        } message: {
            Text("You cannot undo this action.")
        }
    }
}

確認對話框中的所有操作將在操作運行後關閉對話框。默認按鈕將顯示得更加突出。您可以通過為其分配KeyboardShortcut/defaultAction 鍵盤快捷鍵來影響默認按鈕。

係統可以根據它們的作用和突出度對按鈕重新排序。

默認情況下,對話框包含標準的關閉操作。如果您提供一個角色為 ButtonRole/cancel 的按鈕,則該按鈕將代替默認的關閉操作。您不必使用取消按鈕的操作來關閉演示文稿。

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

用法三

實例方法

confirmationDialog(_:isPresented:titleVisibility:actions:message:)

當給定條件為真時,使用標題的本地化字符串鍵顯示帶有消息的確認對話框。

聲明

func confirmationDialog<A, M>(
    _ titleKey: LocalizedStringKey,
    isPresented: Binding<Bool>,
    titleVisibility: Visibility = .automatic,
    actions: () -> A,
    message: () -> M
) -> some View where A : View, M : View

參數

titleKey

說明對話框標題的本地化字符串的鍵。

isPresented

與確定是否顯示對話框的布爾值的綁定。當用戶按下或點擊對話框的默認操作按鈕時,係統將此值設置為 false ,關閉對話框。

titleVisibility

對話框標題的可見性。默認值為 Visibility/automatic

actions

返回對話框操作的視圖構建器。

message

返回對話框消息的視圖構建器。

詳述

在下麵的示例中,按鈕根據綁定的布爾變量的值有條件地顯示確認對話框。當布爾值設置為 true 時,係統會顯示一個確認對話框,其中包含取消操作和破壞性操作。


struct ConfirmEraseItems: View {
    @State private var isShowingDialog = false
    var body: some View {
        Button("Empty Trash") {
            isShowingDialog = true
        }
        .confirmationDialog(
            "Permanently erase the items in the Trash?",
            isPresented: $isShowingDialog
        ) {
            Button("Empty Trash", role: .destructive) {
                // Handle empty trash action.
            }
        } message: {
            Text("You cannot undo this action.")
        }
    }
}

確認對話框中的所有操作將在操作運行後關閉對話框。默認按鈕將顯示得更加突出。您可以通過為其分配KeyboardShortcut/defaultAction 鍵盤快捷鍵來影響默認按鈕。

係統可以根據它們的作用和突出度對按鈕重新排序。

默認情況下,對話框包含標準的關閉操作。如果您提供一個角色為 ButtonRole/cancel 的按鈕,則該按鈕將代替默認的關閉操作。您不必使用取消按鈕的操作來關閉演示文稿。

在 iOS、tvOS 和 watchOS 上,確認對話框僅支持標簽為 Text 的控件。傳遞任何其他類型的視圖會導致內容被省略。

此修飾符代表您為標題創建 Text 視圖,並將本地化鍵視為類似於 Text/init(_:tableName:bundle:comment:) 。有關本地化字符串的更多信息,請參閱Text

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Never confirmationDialog(_:isPresented:titleVisibility:actions:message:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。