NavigatorIOS
使用 NavigatorIOS,我们需要给他指定一个路由,这样它才能知道显示哪个页面
实例化 Navigator 需要2个必要的属性 —— initialRoute 和 renderSence,它们的作用分别是告诉导航器需要渲染的场景、根据路由描述渲染出来
class FirstPage extends Component{
render(){
return(
<View style={styles.container}>
<TouchableOpacity
onPress={()=>{this.props.navigator.push({
component:SecondPage, // 需要跳转的页面
title:'跳转的界面' // 跳转页面导航栏标题
})}}
>
<Text style={{backgroundColor:"red"}}>点击 push</Text>
</TouchableOpacity>
</View>
)
}
}
class SecondPage extends Component{
render(){
return(
<View style={[styles.container ,{backgroundColor:"cyan"}]}>
<TouchableOpacity
onPress={()=>{this.props.navigator.pop()}}
>
<Text style={{backgroundColor:"red"}}>点击 pop</Text>
</TouchableOpacity>
</View>
)
}
}
export default class App extends Component<{}> {
render(){
return(
<NavigatorIOS
initialRoute={{
component:FirstPage,//要跳转的板块
title:"第一页",
leftButtonTitle:'左边', // 实例化左边按钮
onLeftButtonPress:() => {alert('左边')}, // 左边按钮点击事件
rightButtonTitle:'右边', // 实例化右边按钮
onRightButtonPress:() => {alert('右边')} , // 右边按钮点击事件
//当然图片设置的方式也是一样的,只需要调用 leftButtonIcon 和 'rightButtonIcon` 即可
}}
renderScene={(route,navigator) => { // 将板块生成具体的组件
let Component = route.component;// 获取路由内的板块
return <Component {...route.params} navigator={navigator} /> // 根据板块生成具体组件
}}
//属性
// navigationBarHidden={true} // 隐藏导航栏
shadowHidden={true} // 隐藏导航栏下面的阴影
tintColor='orange' // 按钮的颜色
titleTextColor='green' // 导航栏标题的文字颜色
translucent={false} // 决定导航栏是否半透明(注:当不半透明时页面会向下移动导航栏等高的距离,以防止内容被遮盖)
interactivePopGestureEnabled={false} // 决定是否启用滑动返回手势
style={{flex:1}}// 此项不设置,创建的导航控制器只能看见导航条而看不到界面
/>
)
}
}
var styles = StyleSheet.create({
container:{
backgroundColor:"yellow",
flex:1,
justifyContent:'center',
alignItems:'center'
}
});
//方法
/*
* push(route):导航器跳转到一个新的路由
pop():回到上一页
popN():回到N页之前。当 N=1 的时候,效果和 pop() 一样
replace(route):替换当前页的路由,并立即加载新路由的视图
replacePrevious(route):替换上一页的路由/视图
replacePreviousAndPop(route):替换上一页的路由/视图并且立即切换回上一页
resetTO(route):替换最顶级的路由并且回到它
replaceAtIndex:替换指定路由
popToRoute(route):一直回到某个指定的路由
popToTop():回到最顶层的路由
*
* */
NavigatorIOS的更多相关文章
- React Native之 Navigator与NavigatorIOS使用
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- [React Native] Basic iOS Routing -- NavigatorIOS
Inside the app component, we use NavigatiorIOS to render the compoent: class githubnotetaker extends ...
- react native进一步学习(NavigatorIOS 学习)
特别申明:本人代码不作为任何商业的用途,只是个人学习的一些心得,为了使得后来的更多的程序员少走一些弯路.*(如若侵犯你的版权还望见谅)*. 开发工具:WebStorm,xcode 1. rn的创建的时 ...
- React-Native 之 Navigator与NavigatorIOS使用
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方
以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation react-native ...
- ReactNative: 使用导航栏组件-NavigatorIOS组件和Navigator组件
一.简言 在软件开发中,不论是Web还是App,它们的应用程序都是由很多的功能视图组成的.对于这些组合的视图,如何实现页面间平滑地过渡,应用都有统一的一套跳转机制,这个功能就是路由或者叫导航.应用程序 ...
- React Native组件介绍
1.React Native目前已有的组件 ActivityIndicatorIOS:标准的旋转进度轮; DatePickerIOS:日期选择器: Image:图片控件: ListView:列表控件: ...
- react-native-vector-icons的简单使用,图片,按钮,标签视图,导航条
ICONS是可以直接使用图片名, 就能加载图片的三方,使用很方便, 你不需要在工程文件夹里塞各种图片, 节省很多空间,下面就来看看怎么使用吧! 1. 首先打开terminal进入到我们的工程文件夹下, ...
- 浅谈JavaScript、ES5、ES6
// http://es6.ruanyifeng.com/#docs/intro (ES6 文档) 什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来 ...
随机推荐
- Python3 获取RDS slowlog+微信接口报警
一.功能说明 二.代码详情 1.通过阿里sdk获取慢查询列表,格式化. 2.企业微信报警接口 3.deamon #!/usr/bin/python #-*- conding:utf-8 -*- fro ...
- IPMI命令
yum -y install ipmitool/etc/init.d/ipmi start ipmitool -I open lan set 1 ipaddr 172.16.8.33ipmitool ...
- NPOI读写Excel sheet操作
QueryInfo dataInfo = new QueryInfo(); dataInfo.CustomSQL = $@" select t1.name name,t1.url url f ...
- 后台注册js代码的方法
Page.ClientScript.RegisterClientScriptBlock(JSUtil.CurrentPage.GetType(), Util.NewGuid(), @"< ...
- Native2Ascii文件转换 -- 待完善
摘自:https://www.oschina.net/code/snippet_87799_1612 Native2Ascii文件转换 -- 待完善 package com.xxx.xxx.Util; ...
- TF Boys (TensorFlow Boys ) 养成记(四):TensorFlow 简易 CIFAR10 分类网络
前面基本上把 TensorFlow 的在图像处理上的基础知识介绍完了,下面我们就用 TensorFlow 来搭建一个分类 cifar10 的神经网络. 首先准备数据: cifar10 的数据集共有 6 ...
- 使用UrlRewriteFilter对url进行更替
一般来说,使用struts之后url的访问实际上访问的是action的地址,为了不让该地址暴露给别人,可以采用UrlRewriteFilter来对url进行重写. 首先,在web.xml里面配置: & ...
- 1056 IMMEDIATE DECODABILITY
题目链接: http://poj.org/problem?id=1056 题意: 给定编码集, 判断它是否为可解码(没有任何一个编码是其他编码的前缀). 分析: 简单题目, 遍历一遍即可, 只需判断两 ...
- mac安装mysql及终端操作mysql与pycharm的数据库可视化
一.Mac安装mysql 首先下载mysql,地址:https://dev.mysql.com/downloads/mysql/ 然后已知安装就好了,会出现让你记住密码的提示,然后就安装好了.... ...
- mysql 存储过程学习(总)
#一.存储过程和存储函数的创建案例 CREATE PROCEDURE myprocedure(in a int,in b int ,OUT c INT) BEGIN set c=a+b; end; c ...