Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I present a pull-down menu?

I'm looking to add a pull-down menu and I have no idea where to start. Apple's website guides me to UIMenu but I can't figure out how it works.

I know how to make a 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];

How do I attach it to a UIButton?

like image 859
Vulkan Avatar asked Oct 24 '25 17:10

Vulkan


1 Answers

So it seems, after several radical rewrites of your question, that you want a menu that appears from a button. Well, a UIButton has a menu property and you assign a UIMenu to it. Done.

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

If you also want the menu to appear as a response to a simple tap, rather than a long press, then also set the button's showsMenuAsPrimaryAction property to YES.

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

(A UIBarButtonItem has similar properties, in case you want to make the menu appear that way.)

like image 142
matt Avatar answered Oct 26 '25 07:10

matt



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!