【发布时间】:2020-11-08 05:43:23
【问题描述】:
iOS 14 添加了在点击或长按 UIBarButtonItem 或 UIButton 时显示菜单的功能,如下所示:
let menu = UIMenu(children: [UIAction(title: "Action", image: nil) { action in
//do something
}])
button.menu = menu
barButtonItem = UIBarButtonItem(title: "Show Menu", image: nil, primaryAction: nil, menu: menu)
这通常会替换操作表(UIAlertController 与 actionSheet 样式)。拥有一个动态操作表非常常见,其中仅包含操作或根据用户点击按钮时的某些状态可能会禁用操作。但是使用此 API,菜单是在创建按钮时创建的。如何在菜单出现之前对其进行修改或以其他方式使其动态化以确保适当的操作可用并在出现时处于适当的状态?
【问题讨论】: