日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)React教程:iOS 導(dǎo)航器

iOS 導(dǎo)航器包裝了 UIKit 導(dǎo)航,并且允許你添加跨應(yīng)用程序的 back-swipe 功能。

路線

路線是用于描述導(dǎo)航器每個頁面的一個對象。第一個提供給 NavigatorIOS 的路線是 initialRoute

render: function() {  return (
    
  );
},

現(xiàn)在將由導(dǎo)航器呈現(xiàn) MyView。它將在 route 道具,導(dǎo)航器及所有的 passProps 指定的道具中接受一個路線對象。

路線完整的定義請看 initialRoute propType。

導(dǎo)航器

Navigator 是視圖能夠調(diào)用的導(dǎo)航函數(shù)的一個對象。它作為一個道具會被傳遞給任何由 NavigatorIOS 呈現(xiàn)的組件。

var MyView = React.createClass({
  _handleBackButtonPress: function() {    this.props.navigator.pop();
  },
  _handleNextButtonPress: function() {    this.props.navigator.push(nextRoute);
  },
  ...
});

一個導(dǎo)航對象包含以下功能:

  • push(route)——導(dǎo)航到一個新的路線

  • pop()——返回一個頁面

  • popN(n)——一次返回 N 頁。當(dāng) N=1 時,該行為相當(dāng)于 pop()

  • replace(route)——取代當(dāng)前頁面的路線,并立即為新路線加載視圖

  • replacePrevious(route)——取代前一頁的路線/視圖

  • replacePreviousAndPop(route)——取代了以前的路線/視圖并轉(zhuǎn)換回去

  • resetTo(route)——取代頂級的項目并 popToTop

  • popToRoute(route)——為特定的路線對象回到項目

  • popToTop()——回到頂級項目

導(dǎo)航功能在 NavigatorIOS 組件中也是可用的:

var MyView = React.createClass({  _handleNavigationRequest: function() {    this.refs.nav.push(otherRoute);
  },  render: () => (
    
  ),
});

Props

Edit on GitHub

initialRoute {組件:函數(shù)型,標(biāo)題:字符串型,passProps:對象型,backButtonTitle:字符串型,rightButtonTitle:字符串型,onRightButtonPress:函數(shù)型,wrapperStyle:[對象型Object]}

NavigatorIOS 使用“路線”對象來識別子視圖,道具,及導(dǎo)航欄的配置。“push”和所有其他的導(dǎo)航操作預(yù)計路線是這樣的:

itemWrapperStyle View#style

默認(rèn)的包為 navigator 中的組件設(shè)置樣式。一個常見的用例是為每一頁設(shè)置 backgroundColor

tintColor 字符串型

在導(dǎo)航欄中的按鈕使用的顏色

例子

Edit on GitHub

'use strict';var React = require('react-native');var ViewExample = require('./ViewExample');var createExamplePage = require('./createExamplePage');var {
  PixelRatio,
  ScrollView,
  StyleSheet,
  Text,
  TouchableHighlight,
  View,
} = React;var EmptyPage = React.createClass({  render: function() {    return (
      
        
          {this.props.text}
        
      
    );
  },
});var NavigatorIOSExample = React.createClass({  statics: {    title: '',    description: 'iOS navigation capabilities',
  },  render: function() {    var recurseTitle = 'Recurse Navigation';    if (!this.props.topExampleRoute) {
      recurseTitle += ' - more examples here';
    }    return (
      
        
        
          
            
              See <UIExplorerApp> for top-level usage.
            
          
        
        
        
        
        
          {this._renderRow(recurseTitle, () => {            this.props.navigator.push({              title: NavigatorIOSExample.title,              component: NavigatorIOSExample,              backButtonTitle: 'Custom Back',              passProps: {topExampleRoute: this.props.topExampleRoute || this.props.route},
            });
          })}
          {this._renderRow('Push View Example', () => {            this.props.navigator.push({              title: 'Very Long Custom View Example Title',              component: createExamplePage(null, ViewExample),
            });
          })}
          {this._renderRow('Custom Right Button', () => {            this.props.navigator.push({              title: NavigatorIOSExample.title,              component: EmptyPage,              rightButtonTitle: 'Cancel',              onRightButtonPress: () => this.props.navigator.pop(),              passProps: {                text: 'This page has a right button in the nav bar',
              }
            });
          })}
          {this._renderRow('Pop', () => {            this.props.navigator.pop();
          })}
          {this._renderRow('Pop to top', () => {            this.props.navigator.popToTop();
          })}
          {this._renderRow('Replace here', () => {            var prevRoute = this.props.route;            this.props.navigator.replace({              title: 'New Navigation',              component: EmptyPage,              rightButtonTitle: 'Undo',              onRightButtonPress: () => this.props.navigator.replace(prevRoute),              passProps: {                text: 'The component is replaced, but there is currently no ' +                  'way to change the right button or title of the current route',
              }
            });
          })}
          {this._renderReplacePrevious()}
          {this._renderReplacePreviousAndPop()}
          {this._renderPopToTopNavExample()}
        
        
      
    );
  },  _renderPopToTopNavExample: function() {    if (!this.props.topExampleRoute) {      return null;
    }    return this._renderRow('Pop to top NavigatorIOSExample', () => {      this.props.navigator.popToRoute(this.props.topExampleRoute);
    });
  },  _renderReplacePrevious: function() {    if (!this.props.topExampleRoute) {      // this is to avoid replacing the UIExplorerList at the top of the stack      return null;
    }    return this._renderRow('Replace previous', () => {      this.props.navigator.replacePrevious({        title: 'Replaced',        component: EmptyPage,        passProps: {          text: 'This is a replaced "previous" page',
        },        wrapperStyle: styles.customWrapperStyle,
      });
    });
  },  _renderReplacePreviousAndPop: function() {    if (!this.props.topExampleRoute) {      // this is to avoid replacing the UIExplorerList at the top of the stack      return null;
    }    return this._renderRow('Replace previous and pop', () => {      this.props.navigator.replacePreviousAndPop({        title: 'Replaced and Popped',        component: EmptyPage,        passProps: {          text: 'This is a replaced "previous" page',
        },        wrapperStyle: styles.customWrapperStyle,
      });
    });
  },  _renderRow: function(title: string, onPress: Function) {    return (
      
        
          
            
              {title}
            
          
        
        
      
    );
  },
});var styles = StyleSheet.create({  customWrapperStyle: {    backgroundColor: '#bbdddd',
  },  emptyPage: {    flex: 1,    paddingTop: 64,
  },  emptyPageText: {    margin: 10,
  },  list: {    backgroundColor: '#eeeeee',    marginTop: 10,
  },  group: {    backgroundColor: 'white',
  },  groupSpace: {    height: 15,
  },  line: {    backgroundColor: '#bbbbbb',    height: 1 / PixelRatio.get(),
  },  row: {    backgroundColor: 'white',    justifyContent: 'center',    paddingHorizontal: 15,    paddingVertical: 15,
  },  separator: {    height: 1 / PixelRatio.get(),    backgroundColor: '#bbbbbb',    marginLeft: 15,
  },  rowNote: {    fontSize: 17,
  },  rowText: {    fontSize: 17,    fontWeight: '500',
  },
});module.exports = NavigatorIOSExample;

當(dāng)前文章:創(chuàng)新互聯(lián)React教程:iOS 導(dǎo)航器
鏈接分享:http://www.dlmjj.cn/article/copjpod.html