[ES6-iOSCode]React Native控件之TabBarIOS和TabBarIOS.Item實例詳解

簡介

兩個TabBarIOS和TabBarIOS.Item組件可以實現(xiàn)頁面Tab切換的功能,Tab頁面切換的架構(gòu)在應用開發(fā)中還是非常常見的.如:騰訊QQ,淘寶,美團外賣等等

TabBarIOS.Item

2.1.屬性

1.View相關(guān)屬性樣式全部繼承(例如:寬和高,背景顏色,邊距等相關(guān)屬性樣式)

2.badge string,number 在圖標的右上方顯示小紅色氣泡折剃,顯示信息

3.icon Image.propTypes.source Tab按鈕自定義的圖標跋涣,如果systemicon屬性被定義了移宅,那么該屬性會被忽略

4.onPress function 當Tab按鈕被選中的時候進行回調(diào)铜靶,你可以設置selected={true}來設置組件被選中

5.selected bool 該屬性標志子頁面是否可見,如果你看到一個空白的內(nèi)容頁面咏连,那么你很有可能忘記了選中任何的一個頁面標簽Tab

6.selectedIcon Image.propTypes.source 設置當Tab按鈕被選中的時候顯示的自定義圖標敏弃,如果systemIcon屬性被設置了卦羡,那么該屬性會被忽略。如果定義了icon屬性麦到,但是當前的selectedIcon屬性沒有設置绿饵,那么該圖標會被設置成藍色

7.style 設置樣式風格,繼承View的樣式各種風格

8.systemIcon enum('bookmarks','contacts','downloads','favorites','featured','history','more','most-recent','most-viewed','recents','search','top-rated') 這些圖標為系統(tǒng)預定義的圖標瓶颠,如果你使用這些圖標拟赊,那么你上面設置的標題,選中的圖標都會被這些系統(tǒng)圖標所覆蓋粹淋。

  1. title string 在Tab按鈕圖標下面顯示的標題信息吸祟,如果你設置了SystemIcon屬性瑟慈,那么該屬性會被忽略

TabBarIOS

3.1.屬性

1.View相關(guān)屬性樣式全部繼承(例如:寬和高,背景顏色,邊距等相關(guān)屬性樣式)

2.barTintColor color 設置tab條的背景顏色

3.style 繼承View的所有風格樣式

4.tintColor 當前被選中圖標的顏色

5.translucent bool 設置Tab欄是不是半透明的效果

使用實例

上面我們主要對TabBarIOS以及TabBarIOS.Item組件做了相關(guān)講解介紹,下面我們針對該兩個組件看一下具體使用實例屋匕,以下代碼經(jīng)官方實例修改而來葛碧,具體代碼如下:

/**
 * Sample React Native App
 *
 * @iostaoge
 */

import React, { Component } from 'react';

import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TabBarIOS,
} from 'react-native';

class iostaoge extends Component {

  constructor(props){
    super(props);
    this.state={
      selectedTab: '歷史',
      notifCount: 0,
      presses: 0,
    };
  }
  //進行渲染頁面內(nèi)容
  _renderContent(color: string, pageText: string, num?: number) {
  return (
<View style={[styles.tabContent, {backgroundColor: color}]}>
<Text style={styles.tabText}>{pageText}</Text>
<Text style={styles.tabText}>第 {num} 次重復渲染{pageText}</Text>

</View>
);
}
  render() {
    return (
        <View style={{flex:1}}>
          <Text style={styles.welcome}>
            iOSTaoge React-Native Tabar-iOS
          </Text>
          <TabBarIOS
              style={{flex:1,alignItems:"flex-end"}}
              tintColor="white"
              barTintColor="darkslateblue">
            <TabBarIOS.Item
                title="自定義"
                icon={require('./images/flux.png')}
                selected={this.state.selectedTab === '自定義'}
                onPress={() => {
            this.setState({
              selectedTab: '自定義',
            });
          }}
            >
              {this._renderContent('#414A8C', '自定義界面')}
            </TabBarIOS.Item>
            <TabBarIOS.Item
                systemIcon="history"
                selected={this.state.selectedTab === '歷史'}
                badge={this.state.notifCount > 0 ? this.state.notifCount : undefined}
                onPress={() => {
            this.setState({
              selectedTab: '歷史',
              notifCount: this.state.notifCount + 1,
            });
          }}
            >
              {this._renderContent('#783E33', '歷史記錄', this.state.notifCount)}
            </TabBarIOS.Item>
            <TabBarIOS.Item
                systemIcon="downloads"
                selected={this.state.selectedTab === '下載'}
                onPress={() => {
            this.setState({
              selectedTab: '下載',
              presses: this.state.presses + 1
            });
          }}>
              {this._renderContent('#21551C', '下載頁面', this.state.presses)}
            </TabBarIOS.Item>

          </TabBarIOS>
        </View>
    );
  }
}

const styles = StyleSheet.create({
  tabContent: {
    flex: 1,
    alignItems: 'center',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    marginTop: 20,
  },
  tabText: {
    color: 'white',
    margin: 50,
  },
});

AppRegistry.registerComponent('iostaoge', () => iostaoge);

效果圖:

React-Native Tabar-iOS.gif

Demo源碼下載: http://pan.baidu.com/s/1cytotg 密碼: rue7

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市过吻,隨后出現(xiàn)的幾起案子进泼,更是在濱河造成了極大的恐慌,老刑警劉巖纤虽,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乳绕,死亡現(xiàn)場離奇詭異,居然都是意外死亡逼纸,警方通過查閱死者的電腦和手機洋措,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樊展,“玉大人,你說我怎么就攤上這事堆生∽ú” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵淑仆,是天一觀的道長涝婉。 經(jīng)常有香客問我,道長蔗怠,這世上最難降的妖魔是什么墩弯? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮寞射,結(jié)果婚禮上渔工,老公的妹妹穿的比我還像新娘。我一直安慰自己桥温,他們只是感情好引矩,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著侵浸,像睡著了一般旺韭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掏觉,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天区端,我揣著相機與錄音,去河邊找鬼澳腹。 笑死织盼,一個胖子當著我的面吹牛杨何,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悔政,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼晚吞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谋国?” 一聲冷哼從身側(cè)響起槽地,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芦瘾,沒想到半個月后捌蚊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡近弟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年缅糟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祷愉。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡窗宦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出二鳄,到底是詐尸還是另有隱情赴涵,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布订讼,位于F島的核電站髓窜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏欺殿。R本人自食惡果不足惜寄纵,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脖苏。 院中可真熱鬧程拭,春花似錦、人聲如沸棍潘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜒谤。三九已至山宾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鳍徽,已是汗流浹背资锰。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阶祭,地道東北人绷杜。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓直秆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鞭盟。 傳聞我的和親對象是個殘疾皇子圾结,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容