index.ios.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /**
  2. * Sample React Native App
  3. * https://github.com/facebook/react-native
  4. */
  5. var React = require('react-native');
  6. var Util = require('./FangWechat/util');
  7. var Icon = require('react-native-vector-icons/FontAwesome');
  8. var Message = require('./FangWechat/message');
  9. var Contact = require('./FangWechat/contact')
  10. var Found = require('./FangWechat/found');
  11. var Me = require('./FangWechat/me');
  12. var {
  13. AppRegistry,
  14. View,
  15. StyleSheet,
  16. TabBarIOS,
  17. Text,
  18. NavigatorIOS,
  19. StatusBar,
  20. Image
  21. } = React;
  22. StatusBar.setBarStyle('light-content');
  23. var fangWechat = React.createClass({
  24. getInitialState: function () {
  25. return {
  26. selectedTab: 'message'
  27. }
  28. },
  29. selectTab: function (tab) {
  30. this.setState({
  31. selectedTab: tab
  32. })
  33. },
  34. addNavigator: function (component, title, rightButtonIcon) {
  35. return (
  36. <NavigatorIOS
  37. style={{flex:1}}
  38. barTintColor="#000"
  39. titleTextColor="#fff"
  40. rightButtonIcon={rightButtonIcon}
  41. tintColor="#fff"
  42. initialRoute={{
  43. component: component,
  44. title: title
  45. }}
  46. />
  47. )
  48. },
  49. render: function () {
  50. return (
  51. <TabBarIOS
  52. tintColor="#45b640"
  53. barTintColor="#F5F6F8"
  54. >
  55. <TabBarIOS.Item
  56. icon={require('image!message')}
  57. selectedIcon={require('image!message_fill')}
  58. title="微信"
  59. selected={this.state.selectedTab === 'message'}
  60. onPress={() => this.selectTab('message')}
  61. >
  62. {this.addNavigator(Message, '微信', require('image!plus'))}
  63. </TabBarIOS.Item>
  64. <TabBarIOS.Item
  65. icon={require('image!contact')}
  66. selectedIcon={require('image!contact_fill')}
  67. title="通讯录"
  68. selected={this.state.selectedTab === 'contact'}
  69. onPress={() => this.selectTab('contact')}
  70. >
  71. {this.addNavigator(Contact, '通讯录', require('image!add-user'))}
  72. </TabBarIOS.Item>
  73. <TabBarIOS.Item
  74. icon={require('image!found')}
  75. selectedIcon={require('image!found_fill')}
  76. title="发现"
  77. selected={this.state.selectedTab === 'found'}
  78. onPress={() => this.selectTab('found')}
  79. >
  80. {this.addNavigator(Found, '发现')}
  81. </TabBarIOS.Item>
  82. <TabBarIOS.Item
  83. icon={require('image!me')}
  84. selectedIcon={require('image!me_fill')}
  85. title="我"
  86. selected={this.state.selectedTab === 'me'}
  87. onPress={() => this.selectTab('me')}
  88. >
  89. {this.addNavigator(Me, '我')}
  90. </TabBarIOS.Item>
  91. </TabBarIOS>
  92. )
  93. }
  94. });
  95. const styles = StyleSheet.create({
  96. container: {
  97. flex: 1,
  98. justifyContent: 'center',
  99. alignItems: 'center',
  100. backgroundColor: '#F5FCFF',
  101. },
  102. });
  103. AppRegistry.registerComponent('fangWechat', () => fangWechat);