React Native中TabBarIOS的简单使用方法示例

前言

大家应该都知道,TabBarIOS是RN中自带的组件,可直接使用,不用引用第三方组件,下面讲解TabBarIOS的使用方法,话不多说了,来一起看看详细的介绍吧。

首先看一下效果图,如下图所示:

效果

看完效果图再对代码进行说明.

rush:js;"> import React,{ Component } from 'react'; import { StyleSheet,View,TabBarIOS,NavigatorIOS,Navigator,AppRegistry,Image,TouchableHighlight,Platform,} from 'react-native'; //首先导入需要的组件 import Home from './home'; import About from './about'; import Manager from './manager'; import Message from './message'; //这里是导入需要显示页面 export default class Test extends Component { constructor(props){ super(props); this.state = { selectedTab:'home',data:'',isLoadingShow: false,title:'首页',}; } //设置一个初始化认首先显示首页 componentDidMount() { console.log("++++++++++++++++TabBarIOS测试+++++++++++++++"); } _selectTab(tabName) { this.setState({ selectedTab: tabName }); } //修改底部Tab名称,通过状态进行控制 _selectTitle(title) { this.setState({ title: title }); } //修改顶部导航栏的名称,与Tab名称修改是同步的 _addNavigator(component,title) { let data = null; if(title === '公告'){ data = this.state.data; } return ; } //这里定义了一个_addNavigator方法,接收两个参数页面名称与导航栏title _mainJudge(){

return(

{this._addNavigator(Home,'首页')}
<TabBarIOS.Item
 title="公告"
 icon={require('../imgs/gonggao.png')}
 selected={this.state.selectedTab === 'message'}
 onPress={this._selectTab.bind(this,'message')}
 >
 {this._addNavigator(Message,'公告')}
</TabBarIOS.Item>

<TabBarIOS.Item
 title="管理"
 icon={require('../imgs/manager.png')}
 selected={this.state.selectedTab === 'manager'}
 onPress={this._selectTab.bind(this,'manager')}
 >
 {this._addNavigator(Manager,'管理')}
</TabBarIOS.Item>

<TabBarIOS.Item
 title="关于"
 icon={require('../imgs/about.png')}
 selected={this.state.selectedTab === 'about'}
 onPress={this._selectTab.bind(this,'about')}
 >
 {this._addNavigator(About,'关于')}
</TabBarIOS.Item>
</TabBarIOS>
) } //_mainJudge方法是最核心的方法,用于对底部Tab以及顶部Title的布局,其中调用了几个方法上面已经做了说明. render() { return ( {this._mainJudge()} ); } } const styles = StyleSheet.create({ container:{ flex:1,opacity:1 },});

如图所示,导入的import Manager from './manager';Manager页面内容就会显示页面,其余页面也是同样的道理.

页面填充效果

通常进入这样一个页面都是从登陆页面跳转到此页面,或者作为一个页面呈现.另一个好处就是,拿我的项目为例,点击修改密码,显示如下图所示:

内页效果

你会看到管理会自动移到左边,title修改修改密码.就避免了,每个页面都需要定义一个导航栏产生的冗余代码.

如果你想自己完成这样的效果,你只需新建一个项目,新增一个页面,将我的代码拷贝进去即可,注意:我import了四个页面,这个也需要你自己定义,可简单创建几个页面尝试.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...