如何显示下拉菜单?

How do I present a pull-down menu?

我想添加一个下拉菜单,但我不知道从哪里开始。 Apple 的 website 将我引导至 UIMenu,但我不知道它是如何工作的。

我知道如何制作 UIMenu:

NSMutableArray* actions = [[NSMutableArray alloc] init];

[actions addObject:[UIAction actionWithTitle:@"Edit"
                                       image:nil
                                  identifier:nil
                                     handler:^(__kindof UIAction* _Nonnull action) {
    
    // ...
}]];

UIMenu* menu =
[UIMenu menuWithTitle:@""
             children:actions];

如何将它附加到 UIButton?

因此,在对您的问题进行了几次彻底的重写之后,您似乎想要一个通过按钮出现的菜单。嗯,一个 UIButton 有一个 menu 属性 并且你给它分配了一个 UIMenu。完成。

https://developer.apple.com/documentation/uikit/uibutton/3601189-menu?language=objc

如果您还希望菜单显示为对简单点击的响应,而不是对长按的响应,那么还要将按钮的 showsMenuAsPrimaryAction 属性 设置为是。

https://developer.apple.com/documentation/uikit/uicontrol/3601223-showsmenuasprimaryaction?language=objc

(UIBarButtonItem 具有类似的属性,以防您希望以这种方式显示菜单。)