实例方法
alert(is
alert(isPresented:error:actions:message:)
出现错误时显示带有消息的警报。
声明
func alert<E, A, M>(
isPresented: Binding<Bool>,
error: E?,
actions: (E) -> A,
message: (E) -> M
) -> some View where E : LocalizedError, A : View, M : View
参数
isPresented
与确定是否显示警报的布尔值的绑定。当用户按下或点击警报的其中一项操作时,系统将此值设置为
false
并关闭。error
用于生成警报标题的可选本地化错误。系统将内容传递给修饰符的闭包。您使用此数据来填充您创建的系统向用户显示的警报的字段。
actions
A
ViewBuilder
返回警报的操作。message
给定当前错误的视图构建器返回警报消息。
详述
在下面的示例中,按钮根据错误值有条件地显示警报。当错误值不是 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.
}
} message: { error in
// Here, recommendation is a property of the
// TicketPurchaseError type.
Text(error.recommendation)
}
}
}
警报中的所有操作都会在操作运行后解除警报。默认按钮显示得更加突出。您可以通过为其分配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:)用法及代码示例
- 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:message:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。