• 技术文章 >web前端 >js教程

    React Native中NavigatorIOS组件(详细教程说明)

    亚连亚连2018-06-09 11:26:44原创1080

    这篇文章主要介绍了React Native中NavigatorIOS组件的简单使用详解,现在分享给大家,也给大家做个参考。

    一、NavigatorIOS组件介绍

    1,组件说明

    使用 NavigatorIOS 我们可以实现应用的导航(路由)功能,即实现视图之间的切换和前进、后退。并且在页面上方会有个导航栏(可以隐藏)。

    NavigatorIOS 组件本质上是对 UIKit navigation 的包装。使用 NavigatorIOS 进行路由切换,实际上就是调用 UIKit 的 navigation。

    NavigatorIOS 组件只支持 iOS 系统。React Native 还提供了一个 iOS 和 Android 都通用导航组件:Navigator。这个以后再说。

    2,组件的属性

    (1)barTintColor:导航条的背景颜色
    (2)initialRoute:用于初始化路由。其参数对象中的各个属性如下:

    {
     component: function, //加载的视图组件
     title: string, //当前视图的标题
     passPros: object, //传递的数据
     backButtonIcon: Image.propTypes.source, // 后退按钮图标
     backButtonTitle: string, //后退按钮标题
     leftButtonIcon: Image.propTypes.soruce, // 左侧按钮图标
     leftButtonTitle: string, //左侧按钮标题
     onLeftButtonPress: function, //左侧按钮点击事件
     rightButtonIcon: Image.propTypes.soruce, // 右侧按钮图标
     rightButtonTitle: string, //右侧按钮标题
     onRightButtonPress: function, //右侧按钮点击事件
     wrapperStyle: [object Object] //包裹样式
    }

    (3)itemWrapperStyle:为每一项定制样式,比如设置每个页面的背景颜色。
    (4)navigationBarHiddent:为 true 时隐藏导航栏。
    (5)shadowHidden:为 true 时,隐藏阴影。
    (6)tintColor:导航栏上按钮的颜色。
    (7)titleTextColor:导航栏上字体的颜色。
    (8)translucent:为 true 时,导航栏为半透明。

    3,组件的方法

    当组件视图切换的时候,navigator 会作为一个属性对象被传递。我们可以通过 this.props.navigator 获得 navigator 对象。该对象的主要方法如下:
    (1)pust(route):加载一个新的页面(视图或者路由)并且路由到该页面。
    (2)pop():返回到上一个页面。
    (3)popN(n):一次性返回N个页面。当 N=1 时,相当于 pop() 方法的效果。
    (4)replace(route):替换当前的路由。
    (5)replacePrevious(route):替换前一个页面的视图并且回退过去。
    (6)resetTo(route):取代最顶层的路由并且回退过去。
    (7)popToTop():回到最上层视图。

    二、使用样例

    NavigatorIOS是React Native自带的导航组件,下面是它的简单应用。

    初始化第一个场景

    import PropTypes from 'prop-types';
    import React, { Component } from 'react';
    import { NavigatorIOS, Text } from 'react-native';
    import { NextScene } from 'react-native';
    
    export default class NavigatorIOSApp extends Component {
     render() {
      return (
       <NavigatorIOS
        initialRoute={{
         component: MyScene,
         title: '初始化第一个场景',
        }}
        style={{flex: 1}}
       />
      );
     }
    }
    
    class MyScene extends Component {
     static propTypes = {
      title: PropTypes.string.isRequired,
      navigator: PropTypes.object.isRequired,
     }
    
     _onForward = () => {
      this.props.navigator.push({
       component:NextScene
       title: '第二个场景'
      });
     }
    
     render() {
      return (
       <View>
        <Text>Current Scene: { this.props.title }</Text>
        <TouchableHighlight onPress={this._onForward}>
         <Text>前往下一个场景</Text>
        </TouchableHighlight>
       </View>
      )
     }
    }

    第二个场景

    export default class NextScene extends Component {
    
     render() {
      return (
       <View>
        <Text>这是第二个场景</Text>
       </View>
      )
     }
    }

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    在JS中如何实现两个变量值的交换方法

    在Vue中如何实现自定义指令?

    在vue里面通过父组件如何修改子组件样式

    在vue-resource中有关jsonp跨域问题

    在vue+webpack中如何实现异步组件加载?

    在vue.js中使用Nginx来解决跨域

    以上就是React Native中NavigatorIOS组件(详细教程说明)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:怎样在实战项目中使用Installation插件 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文聊聊Angular中的依赖注入• Node实战学习:浏览器预览项目所有图片• react native路由跳转怎么实现• 一起聊聊var、let以及const的区别(代码示例)• 深入详解React中的ref
    1/1

    PHP中文网