React Native_React Native组件(TabBar iOS)

本文介绍了一个基于React Native的TabBarIOS组件使用示例,演示了如何实现不同页面间的切换,并展示了如何通过状态管理来更新当前选中的Tab。该示例仅适用于iOS平台。

很遗憾,TabBar iOS 仅仅支持iOS系统,安卓的需要我们使用第三方的插件,会在以后的文档中更新。以下的Demo主要是TabBar的切换,以后再实际项目中,我们会结合Navigator对其进行封装抽离。

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    ListView,
    Image,
    TouchableOpacity,
    TabBarIOS,

} from 'react-native';



export default class ListViewTest2 extends Component {

    constructor(pros){
        super(pros);
        this.state={
            //默认被选中的item
            selectedTabBarItem:'home'
        }
    }

    render() {
        return (
            <View style={styles.container}>
                {/*头部*/}
                <View>
                    <Text>TabBar练习</Text>
                </View>

                {/*选项卡*/}
                <TabBarIOS
                  barTintColor='black'
                  tintColor='purple'
                >
                    {/*第一个*/}
                    <TabBarIOS.Item
                        systemIcon="contacts"
                        badge={3}
                        selected={this.state.selectedTabBarItem == 'home'}
                        onPress={()=>{this.setState({selectedTabBarItem:'home'})}}

                    >

                        <View style={[styles.commonViewStyle,{backgroundColor: 'red'}]}>
                            <Text>首页</Text>
                        </View>
                    </TabBarIOS.Item>

                    {/*第二个*/}
                    <TabBarIOS.Item
                        systemIcon="bookmarks"
                        selected={this.state.selectedTabBarItem == 'second'}
                        onPress={()=>{this.setState({selectedTabBarItem:'second'})}}
                    >
                        <View style={[styles.commonViewStyle,{backgroundColor: 'green'}]}>
                            <Text>第二页</Text>
                        </View>

                    </TabBarIOS.Item>

                    {/*第三个*/}
                    <TabBarIOS.Item
                        systemIcon="downloads"
                        selected={this.state.selectedTabBarItem == 'three'}
                        onPress={()=>{this.setState({selectedTabBarItem:'three'})}}
                    >

                        <View style={[styles.commonViewStyle,{backgroundColor: 'blue'}]}>
                            <Text>第三页</Text>
                        </View>
                    </TabBarIOS.Item>

                    {/*第四个*/}
                    <TabBarIOS.Item
                        systemIcon="search"
                        selected={this.state.selectedTabBarItem == 'four'}
                        onPress={()=>{this.setState({selectedTabBarItem:'four'})}}
                    >

                        <View style={[styles.commonViewStyle,{backgroundColor: 'purple'}]}>
                            <Text>第四页</Text>
                        </View>
                    </TabBarIOS.Item>
                </TabBarIOS>
            </View>
        );
    }



}

const styles = StyleSheet.create({
    container:{
        flex:1,
        backgroundColor:'#F5FCFF'
    },
    commonViewStyle:{
        flex:1,
        justifyContent:'center',
        alignItems:'center'
    }
});
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值