ios - 如何在 React Native 中实现 slider 菜单

标签 ios facebook reactjs react-native

我是新手。 我需要在 React-native 中开发 slider 菜单。 我点击下面的链接,但这不是我想要的 http://www.reactnative.com/a-slide-menu-inspired-from-android-for-react-native/

实际上我需要附在此处的图片。

enter image description here

请帮帮我..

最佳答案

这个 React Native 包非常广泛,而且非常好用:

https://github.com/root-two/react-native-drawer

这只是我的代码片段,您可以创建一个菜单栏,其中包含一个调用 openDrawer 方法的按钮,并使用此抽屉,您可以将动画设置为您喜欢的样子,并在抽屉本身内包含一个 ScrollView .希望这对您有所帮助!

var React = require('react-native');
var {
  StyleSheet,
  Component,
  View,
  Text,
  Navigator,
  TouchableHighlight,
  TouchableOpacity,
} = React;

var styles = require('./styles');
var Drawer = require('react-native-drawer')

var drawerStyles = {
  drawer: {
    shadowColor: "#000000",
    shadowOpacity: 0.8,
    shadowRadius: 0,
  }
}

var MainPage = React.createClass({

  getInitialState: function(){
    return {
      drawerType: 'overlay',
      openDrawerOffset:.3,
      closedDrawerOffset:0,
      panOpenMask: .1,
      panCloseMask: .9,
      relativeDrag: false,
      panStartCompensation: true,
      openDrawerThreshold: .25,
      tweenHandlerOn: false,
      tweenDuration: 550,
      tweenEasing: 'easeInOutQuad',
      disabled: false,
      tweenHandlerPreset: null,
      acceptDoubleTap: true,
      acceptTap: true,
      acceptPan: true,
      rightSide: false,
      showView: true,
    }
  },

  setDrawerType: function(type){
    this.setState({
      drawerType: type
    });
  },

  openDrawer: function(){
    this.refs.drawer.open();
  },

  closeDrawer: function(){
    this.refs.drawer.close();
  },

  setStateFrag: function(frag){
    this.setState(frag);
  },


    render: function() {

    var menu = <Menu 
                  closeDrawer={this.closeDrawer}
                  navigator={this.props.navigator}  />;


    return (
      <Drawer
        ref="drawer"
        onClose={this.onClose}
        type={this.state.drawerType}
        animation={this.state.animation}
        openDrawerOffset={this.state.openDrawerOffset}
        closedDrawerOffset={this.state.closedDrawerOffset}
        panOpenMask={this.state.panOpenMask}
        panCloseMask={this.state.panCloseMask}
        relativeDrag={this.state.relativeDrag}
        panStartCompensation={this.state.panStartCompensation}
        openDrawerThreshold={this.state.openDrawerThreshold}
        content={**YOURCUSTOMENU**}
        styles={drawerStyles}
        disabled={this.state.disabled}
        tweenHandler={this.tweenHandler}
        tweenDuration={this.state.tweenDuration}
        tweenEasing={this.state.tweenEasing}
        acceptDoubleTap={this.state.acceptDoubleTap}
        acceptTap={this.state.acceptTap}
        acceptPan={this.state.acceptPan}
        changeVal={this.state.changeVal}
        negotiatePan={false}
        side={this.state.rightSide ? 'right' : 'left'}
        >
        <View>
          <**YOURTOOLBAR** onPress={this.openDrawer}/> 
          <**YOURCONTENT_VIEW**/>
        </View>
      </Drawer>

    );
  },



});



module.exports = MainPage;

关于ios - 如何在 React Native 中实现 slider 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426169/

相关文章:

ios - iOS7中已经实现了滚动手势如何实现页面切换?

ios - App Link是否可以与testflight(iOS)安装的应用程序一起使用?

reactjs - 仅在特定屏幕上显示广告(React Native 和导航)

ios - iOS 上的 Facebook API 好友 ID 访问

ios - 如何从 os x 中的 webview 下载文件并将其保存到特定位置

JSON 中的 Facebook OAUTH 访问 token 响应

php - 单击“赞”按钮时设置 facebook 评论框

javascript - 在 Redux 中设置应用挂载的存储状态

reactjs - 无法从 Web 浏览器安装 PWA

ios - 将 MKMapView 动态添加到 UIView