react-native iOS 原生组件 swift版

最近在学习着react-native,看到可以封装组件功能,就尝试着封装一个swift版本的(网上搜半天都是oc愣是研究半天)

初始化一个React-native工程后,因是oc工程,直接创建一个swift的类会提示创建Bridging-header的头文件.

将用到的React的文件引入

#import 
#import 
#import 
#import 

然后创建一个.m的oc文件引入对应的头文件

我创建的为CamerManageBridge.m

#import 
#import 
#import "工程名-Swift.h"
第三个文件为与swift创建的类引用进 .规范则为工程名-Swift.h


CamerManageBridge.m代码实现

@interface CameraManage: RCTViewManager
@end

@implementation CameraManage

RCT_EXPORT_MODULE()

- (UIView *) view {
  return [[CameraView alloc] initWithFrame:[UIScreen mainScreen].bounds];
}

@end

上CameraView则为swift创建的文件.

继承自React-native  的RCTViewManager

RCT_EXPORT_MODULE()
则为暴露给js看的---具体官网API都很有详细介绍到.


最后将该View直接返回给React-native使用

使用方法:

import {
    requireNativeComponent,
} from 'react-native'

let Camera = requireNativeComponent("CameraManage",CameraView);

export default class CameraView extends Component {

	constructor(props) {
	  super(props);
	
	  this.state = {

	  };
	}

	render(){
		return(
            
			);
	}
}
以上则为我这两天折腾出的效果.



你可能感兴趣的:(react-native iOS 原生组件 swift版)