成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ReactNative中TabBarIOS的簡單使用方法示例

前言

額爾古納網站制作公司哪家好,找創(chuàng)新互聯(lián)!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、響應式網站設計等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯(lián)。

大家應該都知道,TabBarIOS是RN中自帶的組件,可直接使用,不用引用第三方組件,下面講解TabBarIOS的使用方法,話不多說了,來一起看看詳細的介紹吧。

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

React Native中TabBarIOS的簡單使用方法示例
效果圖

看完效果圖再對代碼進行說明.

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名稱,通過狀態(tài)進行控制
_selectTitle(title) {
 this.setState({
  title: title
 });
 }
//修改頂部導航欄的名稱,與Tab名稱的修改是同步的
_addNavigator(component, title) {
 let data = null;
 if(title === '公告'){
  data = this.state.data;
 }
 return <NavigatorIOS
  style={{flex:1}}
  barTintColor='#007AFF'
  titleTextColor="#fff"
  tintColor="#fff"
  translucent={false}
  initialRoute={{
   component,
   title,
   passProps:{
   data
   }
  }}
  />;
 }
//這里定義了一個_addNavigator方法,接收兩個參數頁面名稱與導航欄title
_mainJudge(){

  return(

   <View style={{flex:1}}>
    <TabBarIOS barTintColor="#FFF">
    <TabBarIOS.Item
     icon={require('../imgs/phone_s.png')}
     title="首頁"
     selected={this.state.selectedTab === 'home'}
     onPress={this._selectTab.bind(this, 'home')}
     >
     {this._addNavigator(Home, '首頁')}
    </TabBarIOS.Item>

    <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>
   </View> 
   )
}
//_mainJudge方法是最核心的方法,用于對底部Tab以及頂部Title的布局,其中調用了幾個方法上面已經做了說明.
 render() {
 return (
  <View style={styles.container}>
   {this._mainJudge()}
  </View>
 );
 }
}
const styles = StyleSheet.create({
 container:{
 flex:1,
 opacity:1
 },
});

如圖所示,導入的import Manager from './manager';Manager頁面的內容就會顯示在頁面,其余頁面也是同樣的道理.

React Native中TabBarIOS的簡單使用方法示例
頁面填充效果圖

通常進入這樣一個頁面都是從登陸頁面跳轉到此頁面,或者作為一個子頁面呈現(xiàn).另一個好處就是,拿我的項目為例,點擊修改密碼,顯示如下圖所示:

React Native中TabBarIOS的簡單使用方法示例
內頁效果圖

你會看到管理會自動移到左邊,title修改為修改密碼.就避免了,每個頁面都需要定義一個導航欄產生的冗余代碼.

如果你想自己完成這樣的效果,你只需新建一個項目,新增一個頁面,將我的代碼拷貝進去即可,注意:我import了四個頁面,這個也需要你自己定義,可簡單創(chuàng)建幾個頁面嘗試.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。

名稱欄目:ReactNative中TabBarIOS的簡單使用方法示例
網站路徑:http://jinyejixie.com/article14/ijgdge.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗營銷型網站建設、響應式網站、Google、企業(yè)網站制作移動網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站建設
海城市| 阿合奇县| 哈密市| 个旧市| 桦南县| 荔波县| 湘潭县| 鲁山县| 呈贡县| 交城县| 左云县| 峨山| 黑水县| 瑞丽市| 鲁山县| 建德市| 四平市| 香港| 万年县| 明溪县| 库车县| 建德市| 拉孜县| 安吉县| 东乌| 霞浦县| 海丰县| 买车| 阳泉市| 通河县| 萍乡市| 丰城市| 和平县| 衡阳市| 南召县| 兖州市| 桂阳县| 东源县| 德兴市| 柳河县| 原平市|