實例方法
alert(is
alert(isPresented:error:actions:)
出現錯誤時顯示警報。
聲明
func alert<E, A>(
isPresented: Binding<Bool>,
error: E?,
actions: () -> A
) -> some View where E : LocalizedError, A : View
參數
isPresented
與確定是否顯示警報的布爾值的綁定。當用戶按下或點擊警報的其中一項操作時,係統將此值設置為
false
並關閉。error
用於生成警報標題的可選本地化錯誤。係統將內容傳遞給修飾符的閉包。您使用此數據來填充您創建的係統向用戶顯示的警報的字段。
actions
A
ViewBuilder
返回警報的操作。
詳述
在下麵的示例中,按鈕根據錯誤值有條件地顯示警報。當錯誤值不是 nil
時,係統會顯示帶有 “OK” 操作的警報。
警報的標題是從錯誤的 errorDescription
推斷出來的。
struct TicketPurchaseView: View {
@Binding var error: TicketPurchaseError?
@State var showAlert = false
var body: some View {
TicketForm(error: $error)
.alert(isPresented: $showAlert, error: error) {
Button("OK") {
// Handle acknowledgement.
}
}
}
}
警報中的所有操作都會在操作運行後解除警報。默認按鈕顯示得更加突出。您可以通過為其分配KeyboardShortcut/defaultAction
鍵盤快捷鍵來影響默認按鈕。
係統可以根據它們的作用和突出度對按鈕重新排序。
如果不存在任何操作,係統將包含標準的“OK” 操作。沒有提供默認的取消操作。如果要顯示取消操作,請使用角色為 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+
相關用法
- Swift Never alert(isPresented:error:actions:message:)用法及代碼示例
- Swift Never alert(_:isPresented:presenting:actions:)用法及代碼示例
- Swift Never alert(_:isPresented:actions:)用法及代碼示例
- Swift Never alert(_:isPresented:presenting:actions:message:)用法及代碼示例
- Swift Never alert(_:isPresented:actions:message:)用法及代碼示例
- Swift Never alignmentGuide(_:computeValue:)用法及代碼示例
- Swift Never allowsTightening(_:)用法及代碼示例
- Swift Never accessibilityAction(action:label:)用法及代碼示例
- Swift Never accessibilityAction(_:_:)用法及代碼示例
- Swift Never autocorrectionDisabled(_:)用法及代碼示例
- Swift Never accessibilityChildren(children:)用法及代碼示例
- Swift Never accessibilityRepresentation(representation:)用法及代碼示例
- Swift Never accessibilityRotor(_:entries:entryID:entryLabel:)用法及代碼示例
- Swift Never accessibilityAction(named:_:)用法及代碼示例
- Swift Never accessibilityChartDescriptor(_:)用法及代碼示例
- Swift Never accessibilityAdjustableAction(_:)用法及代碼示例
- Swift Never accessibilityShowsLargeContentViewer()用法及代碼示例
- Swift Never accessibilityRotor(_:entries:)用法及代碼示例
- Swift Never accessibilityRotor(_:textRanges:)用法及代碼示例
- Swift Never accessibilityRotor(_:entries:entryLabel:)用法及代碼示例
- Swift Never accessibilityScrollAction(_:)用法及代碼示例
- Swift Never aspectRatio(_:contentMode:)用法及代碼示例
- Swift Never accessibilityShowsLargeContentViewer(_:)用法及代碼示例
- Swift Never pageCommand(value:in:step:)用法及代碼示例
- Swift Never opacity(_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Never alert(isPresented:error:actions:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。