UIButton 和临时 UIMenu

Posted

技术标签:

【中文标题】UIButton 和临时 UIMenu【英文标题】:UIButton and Temporary UIMenu 【发布时间】:2021-06-11 16:09:55 【问题描述】:

你能根据外部条件改变 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 类型的控件事件?

【问题讨论】:

【参考方案1】:

如果您不希望在点击按钮时出现菜单,则不应将 showsMenuAsPrimaryAction 设置为 true。该值意味着 target-action 内部的 touch up(如果有)将被忽略,而是显示菜单。

【讨论】:

以上是关于UIButton 和临时 UIMenu的主要内容,如果未能解决你的问题,请参考以下文章