You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将已创建的UIMenu绑定到UIButton实现iOS下拉菜单

把UIMenu绑定到UIButton的实现方法

首先注意:该功能仅支持 iOS 14及以上系统版本,低于该版本需单独做旧版本兼容。

你已经完成了UIMenu的创建,只需要给目标UIButton添加2行配置即可完成绑定:

// 把你创建好的menu赋值给button的menu属性
yourButton.menu = menu;
// 配置触发规则:点击按钮直接弹出菜单设为YES,仅长按弹出设为NO
yourButton.showsMenuAsPrimaryAction = YES;

其他常用配置说明

  • 如果你需要每次弹出菜单时都刷新选项内容,可以使用menuProvider回调动态生成UIMenu,无需提前创建赋值,示例如下:
yourButton.menuProvider = ^UIMenu * _Nonnull(UIMenuIdentifier _Nonnull identifier, UIMenu * _Nonnull suggestedMenu) {
    NSMutableArray *latestActions = [NSMutableArray array];
    // 在这里生成最新的菜单选项
    [latestActions addObject:[UIAction actionWithTitle:@"新增选项" image:nil identifier:nil handler:^(UIAction * _Nonnull action) {
        // 对应选项的点击处理逻辑
    }]];
    return [UIMenu menuWithTitle:@"" children:latestActions];
};
  • 每个UIAction自带的handler回调会在用户点击对应菜单项时自动触发,不需要给UIButton额外添加点击监听事件。

内容的提问来源于stack exchange,提问作者Vulkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:09:02