首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Native中的底层覆盖UI元素

React Native中的底层覆盖UI元素
EN

Stack Overflow用户
提问于 2021-09-28 07:48:58
回答 2查看 841关注 0票数 0

在iOS的一些应用程序中,我遇到了一种类型的视图,即overlay another viewcome from bottom of the screen。当覆盖视图出现时,后面的视图将最小化。例如:

我想在react-native中实现这个UI元素,但是找不到一个好的解决方案。到目前为止,我所实现的是bottom-sheet

所以问题是,这种类型的UI元素是否可以使用react-native实现?如果是,您能提供一些建议/库来实现这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2021-09-28 10:37:31

实际上,这不是一个覆盖视图,它是iOS上的一个原生模式屏幕。此功能由导航库提供。如果你使用的是wix/react- native -navigation,你可以使用Navigation.openModal()函数打开这种模式,如果你使用的是react-navigation,那么你需要使用react-native-screens来获得模式的原生外观,并使用一些配置将组件注册为一个模式组件。例如:

代码语言:javascript
复制
<NativeStack.Screen
      name="Third"
      component={Second}
      options={{
        title: 'MODAL',
        stackPresentation: 'fullScreenModal',
        headerBackTitle: 'back',
        headerCenter: () => <Text>MODAL!!</Text>,
        headerHideBackButton: false,
        headerLeft: () => <Button title="Button" />,
        headerLargeTitle: true,
        headerShown: true,
        headerRight: () => <Button title="Back" onPress={() => null} />,
      }}
    />
票数 1
EN

Stack Overflow用户

发布于 2021-09-29 03:56:36

我想通了。它实际上是使用screenOptions中的transition presets的模式(presentation modal)。这就是我们使用react-navigation实现这一点的方法

代码语言:javascript
复制
<AppStack.Navigator
    initialRouteName="Main"
    screenOptions={{
        headerShown: false,
        gestureEnabled: true,
         cardOverlayEnabled: true,
         ...TransitionPresets.ModalPresentationIOS
    }}
     headerMode='none'
     presentation="modal"
>
    <AppStack.Screen name="Main" component={Main} />
</AppStack.Navigator>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69357713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档