react-native-community / discussions-and-proposals

Discussions and proposal related to the main React Native project
https://facebook.github.io/react-native/
1.66k stars 125 forks source link

Support for iOS 14 pull-down menu #255

Open pinarol opened 4 years ago

pinarol commented 4 years ago

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.

Screen Shot 2020-06-30 at 15 49 01 Screen Shot 2020-06-30 at 15 49 09

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:

Discussion points

TheSavior commented 4 years ago

This seems like something that could live as a separate module with an API similar to ActionSheet

m4rcoperuano commented 4 years ago

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.

Naturalclar commented 3 years ago

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
filiptronicek commented 3 years ago

@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!

Naturalclar commented 3 years ago

@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