RN 노트 - TabNavigator 비 Push 디 스 플레이 원본 페이지
react-native-tab-navigator
아래쪽 네 비게 이 션 을 사용 하려 면 Tab 네 비게 이 션 이 rn 보기 와 native 네 이 티 브 네 이 티 브 네 이 티 브 네 이 티 브 네 이 티 브 네 이 티 브 네 이 티 브 보 기 를 전환 해 야 합 니 다.rn 홈 페이지 참조:http://reactnative.cn/docs/0.41/native-component-ios.html#content 추출 하여 다음 과 같은 내용 을 정리 하 다.
1. IOS 로 컬 파일
생 성 클래스
RNChatViewManager
,. h 파일 과. m 파일 코드 는 다음 과 같 습 니 다. 그 중에서 ChatContactViewController
보 여줄 원본 보기 컨트롤 러 입 니 다.// RNChatViewManager.h
#import "RCTViewManager.h"
#import "ChatContactViewController.h"
@interface RNChatViewManager : RCTViewManager
@property (nonatomic, strong) ChatContactViewController *chatContactVC;
@end
// RNChatViewManager.m
#import "RNChatViewManager.h"
@implementation RNChatViewManager
RCT_EXPORT_MODULE()
- (UIView *)view{
_chatContactVC = [[ChatContactViewController alloc] init];
return _chatContactVC.view;
}
@end
2. RN 코드 설정
Native 구성 요소
requireNativeComponent
를 불 러 오 려 면 가 져 오기 RNChatView
가 필요 합 니 다. 즉, Native 프로젝트 에서 만 든 RNChatViewManager
클래스 를 호출 합 니 다.메모 쓰기: RNChatView 는 RNChatViewManager 클래스 를 requireNativeComponent ('RNChatViewManager', ChatView) 로 변경 할 수 없 음 을 나타 낸다.
import React, { Component, PropTypes } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
requireNativeComponent,
} from 'react-native';
var OCChatView = requireNativeComponent('RNChatView', ChatView);
export default class ChatView extends Component {
static propTypes = {
color: PropTypes.string,
};
render(){
return(
);
}
}
3. 주의사항
상기 설정 은 rn 네 비게 이 션 이 js 페이지 와 oc 페이지 사이 에서 서로 전환 되 는 것 을 실현 할 수 있 으 나 oc 페이지 의 push 점프 동작 을 클릭 할 때 반응 이 없습니다.RN 이 네 이 티 브 를 돌 릴 때 메 인 스 레 드 에서 실행 해 야 하고, 기본 값 은 보조 스 레 드 에 있 기 때문이다.
//
// IS_USING_REACT_NATIVE RN
if (IS_USING_REACT_NATIVE) {
[AppDelegate RNPushViewControllerWith:vc];
}else{
[self.navigationController pushViewController:vc animated:YES];
}
// appDelegate.m
// push ,
+ (void)RNPushViewControllerWith:(UIViewController *)vc{
dispatch_async(dispatch_get_main_queue(), ^{
AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[app.nav pushViewController:vc animated:YES];
});
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.