ios - UIButton 和临时 UIMenu
问题描述
您可以根据外部条件更改 UIButton 是否具有 UIMenu 吗?
let infoButton = UIButton()
infoButton.showsMenuAsPrimaryAction = true
infoButton.menu = UIMenu(options: .displayInline, children: [])
infoButton.addAction(UIAction { [weak infoButton] (action) in
infoButton?.menu = infoButton?.menu?.replacingChildren([new items go here...])
}, for: .menuActionTriggered)
有没有办法阻止该菜单,但在某些条件下触发 TouchUpInside 类型的控件事件?
解决方案
如果您不希望在点击按钮时出现菜单,则不应设置showsMenuAsPrimaryAction
为true
. 该值意味着target-action 内部的 touch up(如果有)将被忽略,而是显示菜单。
推荐阅读
- ios - 为什么 UIAccessibility.post(notification: .announcement, argument: "arg") 没有通过画外音宣布?
- php - 如何对依赖 if 语句进行单元测试?
- python - 有没有办法在 numba jitclass 中包含字符串属性?
- html - 我想在透明背景上制作不透明文本
- python - 基本 TensorFlow 问题(输入和输出数组)
- python - 如何使用名为repeat的列制作sql表?需要 Django 应用程序
- python - 在 Python 3.5 中读取在 Python 2.7 中生成的文件
- google-apps - 使用 Admin SDK + SERVICE ACCOUNT 的 GSuite 市场列表
- javascript - 根据列值发送电子邮件 = 是
- javascript - 为什么 initialState 不显示未定义的字段但在 redux 中保留空字段?