//提供原生视图很简单:
//首先创建一个RCTViewManager的子类。
//添加RCT_EXPORT_MODULE()宏标记。
//实现-(UIView *)view方法。
然后在JS代码中创建该类对应的视图文件.js
再在需要的地方引用即可。
如何使用简单类型的原生视图的属性:
在RCTViewManager的子类中使用RCT_EXPORT_VIEW_PROPERTY(原生视图原有的属性名, 属性类型)将简单类型的原生视图的属性暴露给JS使用。
如何使用复杂类型(需要转换处理)的原生视图的属性:
在RCTViewManager的子类中实现RCT_CUSTOM_VIEW_PROPERTY(name, type, viewClass){ …处理逻辑的代码…}的方法。
原生如何向JS传递事件:
首先,为原生的类创建子类,这样我们就可以继承原生类的方法,并且为原生的类添加我们自己的方法,在这个子类中声明RCTBubblingEventBlock类型的回调方法,所有 RCTBubblingEventBlock必须以 on 开头。
例如,@property(nonatomic,copy)RCTBubblingEventBlock onRegionChange;
在原生对应的会被触发的方法中,调用这个回调方法即可。
网友评论