discussions-and-proposals
discussions-and-proposals copied to clipboard
Support for iOS 14 pull-down menu
Introduction
Taken from iOS Human Interface Guidelines: In iOS 14 and later, a button can display a pull-down menu that lists items or actions from which people can choose. You can use a pull-down menu — or simply menu — to offer items that are directly related to the button's action or to provide a list of actions that are useful in the current context.
I was wondering if there's any interest in adding this component to React Native core, or building a React Native library for it.


Why it is needed
We wish to replace almost all the ActionSheetiOS usages with pull-down menus in our React Native App because it is more easy for users understand the relationship between the menu's items and the action they're performing. And it is a less interruptable UX for them.
Details
From iOS Human Interface Guidelines:
- It is possible to use separators to group items
- You can let people reveal a menu by performing a specific gesture on an existing button. For example, in iOS 14 and later, Safari responds to a touch and hold gesture on the tabs button
- Menus use red text to highlight actions that you identify as potentially destructive. When people choose a destructive action, the system displays an action sheet (iOS) or popover (iPadOS) in which they can confirm their choice or cancel the action.
Discussion points
- Is there a high demand?
- Is there any obstacles/restrictions to this?
This seems like something that could live as a separate module with an API similar to ActionSheet
I've seen some third party packages tackle this like this package https://www.npmjs.com/package/react-native-popover-menu
It may not be a native solution to the platform, but the experience is the same.
I've created https://github.com/react-native-menu/menu component which supports Native UIMenu for iOS14+, with fall backs to Actionsheet for verisions lower than iOS 14.
iOS 14 |
---|
![]() |
@Naturalclar is the Expo managed workflow support on the roadmap? I really love the library, and I think it would really make the native UIMenu more accessible!
@filiptronicek I don't have any control over expo support, but it seems like support for the ui menu component library is indeed on the roadmap :+1: https://blog.expo.io/introducing-expo-run-commands-835ae8da4813