繁体   English   中英

如何在 iOS 中创建弹出菜单?

[英]How can I create a popup menu in iOS?

如何创建像 WhatsApp 中那样的弹出菜单?

弹出菜单的屏幕截图

抱歉这个愚蠢的问题,但我什至不知道要搜索什么。 我很确定它不是UIPickerView

这是一个行动表 这是iOS 人机界面指南中有关它的文档

你可以做一个这样的:

SwiftUI(iOS 15 及以上)

使用confirmationDialog() 这里是它的官方文档这里有一些真实世界的例子,它们是示例代码的部分来源。

@State private var shouldShowActionSheet = false

<custom view>
.confirmationDialog("", isPresented: $shouldShowActionSheet) {
    Button("Option 1") {
        <handler>
    }

    Button("Option 2") {
        <handler>
    }

    Button("Cancel", role: .cancel) { }
}

SwiftUI(iOS 13 和 14)

@State private var shouldShowActionSheet = false

[...]

<custom view>
.actionSheet(isPresented: $shouldShowActionSheet) {
    ActionSheet(
        title: Text(""),
        buttons: [
            .default(Text("Option 1")) {
                <handler>
            },
            .default(Text("Option 2")) {
                <handler>
            },
            .cancel()
        ]
    )
}

用户界面工具包

let alert = UIAlertController(
    title: nil,
    message: nil, 
    preferredStyle: .actionSheet
)

alert.addAction(
    .init(title: "Action 1", style: .default) { _ in
        <handler>
    }
)

alert.addAction(
    .init(title: "Action 1", style: .default) { _ in
        <handler>
    }
)

present(alert, animated: true)

它的UIAlertController与 preferredStyle - UIAlertControllerStyle.actionSheet https://developer.apple.com/documentation/uikit/uialertcontroller

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM