1

我正在寻找添加一个下拉菜单,但我不知道从哪里开始。Apple 的网站引导我使用 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?

4

1 回答 1

1

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

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

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

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

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

于 2021-08-21T23:45:15.347 回答