当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Optional alert(_:isPresented:actions:message:)用法及代码示例


用法一

实例方法

alert(_:isPresented:actions:message:)

当给定条件为真时,使用文本视图作为标题显示带有消息的警报。

声明

func alert<A, M>(
    _ title: Text,
    isPresented: Binding<Bool>,
    actions: () -> A,
    message: () -> M
) -> some View where A : View, M : View

参数

title

警报的标题。

isPresented

与确定是否显示警报的布尔值的绑定。当用户按下或点击警报的其中一项操作时,系统将此值设置为false 并关闭。

actions

A ViewBuilder 返回警报的操作。

message

A ViewBuilder 返回警报消息。

详述

在下面的示例中,按钮根据绑定的布尔变量的值有条件地显示警报。当布尔值设置为 true 时,系统会显示带有 “OK” 操作的警报。


struct LoginView: View {
    @Binding var didFail: Bool
    var body: some View {
        LoginForm(didFail: $didFail)
            .alert(
                Text("An error occurred."), isPresented: $didFail
            ) {
                Button("OK") {
                    // Handle acknowledgement.
                }
            } message: {
                Text("Please ensure your credentials are correct.")
            }
    }
}

警报中的所有操作都会在操作运行后解除警报。默认按钮显示得更加突出。您可以通过为其分配KeyboardShortcut/defaultAction 键盘快捷键来影响默认按钮。

系统可以根据它们的作用和突出度对按钮重新排序。

如果不存在任何操作,系统将包含标准的“OK” 操作。没有提供默认的取消操作。如果要显示取消操作,请使用角色为 ButtonRole/cancel 的按钮。

在 iOS、tvOS 和 watchOS 上,警报仅支持标签为 Text 的控件。传递任何其他类型的视图会导致内容被省略。

消息仅支持未设置样式的文本。

可用版本

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

用法二

实例方法

alert(_:isPresented:actions:message:)

当给定条件为真时,使用字符串变量作为标题显示带有消息的警报。

声明

func alert<S, A, M>(
    _ title: S,
    isPresented: Binding<Bool>,
    actions: () -> A,
    message: () -> M
) -> some View where S : StringProtocol, A : View, M : View

参数

title

用作警报标题的文本字符串。

isPresented

与确定是否显示警报的布尔值的绑定。当用户按下或点击警报的其中一项操作时,系统将此值设置为false 并关闭。

actions

A ViewBuilder 返回警报的操作。

message

A ViewBuilder 返回警报消息。

详述

在下面的示例中,按钮根据绑定的布尔变量的值有条件地显示警报。当布尔值设置为 true 时,系统会显示带有 “OK” 操作的警报。


struct LoginView: View {
    @Binding var didFail: Bool
    var title: String
    var body: some View {
        LoginForm(didFail: $didFail)
            .alert(title, isPresented: $didFail) {
                Button("OK") {
                    // Handle acknowledgement.
                }
            } message: {
                Text("Please ensure your credentials are correct.")
            }
    }
}

警报中的所有操作都会在操作运行后解除警报。默认按钮显示得更加突出。您可以通过为其分配KeyboardShortcut/defaultAction 键盘快捷键来影响默认按钮。

系统可以根据它们的作用和突出度对按钮重新排序。

如果不存在任何操作,系统将包含标准的“OK” 操作。没有提供默认的取消操作。如果要显示取消操作,请使用角色为 ButtonRole/cancel 的按钮。

在 iOS、tvOS 和 watchOS 上,警报仅支持标签为 Text 的控件。传递任何其他类型的视图会导致内容被省略。

消息仅支持未设置样式的文本。

可用版本

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

用法三

实例方法

alert(_:isPresented:actions:message:)

当给定条件为真时,使用标题的本地化字符串键显示带有消息的警报。

声明

func alert<A, M>(
    _ titleKey: LocalizedStringKey,
    isPresented: Binding<Bool>,
    actions: () -> A,
    message: () -> M
) -> some View where A : View, M : View

参数

titleKey

说明警报标题的本地化字符串的键。

isPresented

与确定是否显示警报的布尔值的绑定。当用户按下或点击警报的其中一项操作时,系统将此值设置为false 并关闭。

actions

A ViewBuilder 返回警报的操作。

message

A ViewBuilder 返回警报消息。

详述

在下面的示例中,按钮根据绑定的布尔变量的值有条件地显示警报。当布尔值设置为 true 时,系统会显示带有 “OK” 操作的警报。


struct LoginView: View {
    @Binding var didFail: Bool
    var body: some View {
        LoginForm(didFail: $didFail)
            .alert("An error occurred.", isPresented: $didFail) {
                Button("OK") {
                    // Handle acknowledgement.
                }
            } message: {
                Text("Please ensure your credentials are correct.")
            }
    }
}

警报中的所有操作都会在操作运行后解除警报。默认按钮显示得更加突出。您可以通过为其分配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+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional alert(_:isPresented:actions:message:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。