ios - Swift 中 UIMenu 中子菜单选项的复选标记
问题描述
uibarbutton
当用户点击导航栏中的a 时,我有以下代码生成上下文菜单:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .systemGreen
title = "Hello"
let scribbleAction = UIAction(title: "Scribble", image: UIImage(systemName: "scribble"), state: .on, handler: { (_) in })
let textAction = UIAction(title: "Typing", image: UIImage(systemName: "textformat"), state: .off, handler: { (_) in })
let clockAction = UIAction(title: "Show Clock", image: UIImage(systemName: "clock"), state: .off, handler: { (_) in })
let calendarAction = UIAction(title: "Date Last Used", image: UIImage(systemName: "calendar"), state: .off, handler: { (_) in })
var showAsActions: [UIAction] {
return [
clockAction, calendarAction
]
}
var showAsMenu : UIMenu {
return UIMenu(title: "Show As", image: UIImage(systemName: "questionmark.circle.fill"), identifier: .none, children: showAsActions)
}
let menu = UIMenu(title: "",
image: nil,
identifier: nil,
options: [],
children: [showAsMenu, scribbleAction, textAction])
let barButtonRight = UIBarButtonItem(title: "Sort", image: UIImage(systemName: "ellipsis.circle.fill"), primaryAction: nil, menu: menu)
navigationItem.rightBarButtonItems = [barButtonRight]
}
}
当用户点击导航栏中的按钮时,这一切都有效并产生以下结果:
点击第一个菜单项会产生所需的效果:
但有时,我还需要能够用复选标记标记第一个菜单项(这是一个子菜单项)。我无法弄清楚如何做到这一点,并且在 Stackoverflow 以及 Apple Developer Forums 等上进行了搜索,但无法解决。任何建议将不胜感激。
解决方案
推荐阅读
- python - React 组件未在 django index html 模板中呈现
- reactjs - 如何在路由更改期间保持组件状态在 React 中?
- reactjs - 如何使用钩子在反应中提交文本区域字段?
- arrays - 为什么下一个方法不改变数组但另一个改变了它的值?
- java - Java byte[] 渲染以做出反应
- python - 将每个组的行合并为一行
- javascript - 如何在 Github 中检索用户和组织的 repo 列表?
- sqlite - 尝试使用 SQLite 在 Ionic 上打开现有数据库
- python - IPython 检测自动魔法
- javascript - 如何将字符串值从对象转换为数字和布尔值?