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一种动态类型.弱类型.基于原型的客户端脚本语言,用来 ...
随机推荐
- 洛谷P1186 玛丽卡 spfa+删边
洛谷P1186 玛丽卡http://blog.csdn.net/huihao123456/article/details/73414139题目描述 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. ...
- [Token] 从index.jsp中获取Token
import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...
- mongodb密码忘了怎么办
自己电脑上mongodb好长时间没上了,密码竟然给忘了,悲剧啊! 修改auth为false,然后重新启动mongodb 这时候可以不用登陆直接进入 db.changeUserPassword('use ...
- 引用的一道JAVA题目
code: class A { A() {}} class B extends A { } Which two statements are true? (Choose two) A. Class B ...
- HDU 5792 World is Exploding (离散化+树状数组)
题意:给定 n 个数,让你数出 a < b && c < d && a != b != c != d && Aa < Ab & ...
- CodeForces 474B Worms (水题,二分)
题意:给定 n 堆数,然后有 m 个话询问,问你在哪一堆里. 析:这个题是一个二分题,但是有一个函数,可以代替写二分,lower_bound. 代码如下: #include<bits/stdc+ ...
- windows mobile 只能运行一个程序实例
static class Program { [System.Runtime.InteropServices.DllImport("coredll.Dll", SetLastErr ...
- opencv——阈值分割图像
#include "stdafx.h" #include "opencv2\opencv.hpp" using namespace cv; IplImage* ...
- COLLATE 函数
指定SQL server的排序规则Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_TaiwanCI指定不区分大小写,如果要在查询时区分输入的大小写则改为CSAS指定区分重音 ...
- [示例] Firemonkey 画出 1 点像素的线
说明:在 Firemonkey 在移动平台 Android & iOS 要直接在 Canvas 画出 1 点像素的线,似乎有点困难,不过利用一点小技巧,还是能达到这个要求的,首先要建立一个 B ...