美文网首页
React-Native+原生UITabBarControlle

React-Native+原生UITabBarControlle

作者: 币乎iOS | 来源:发表于2017-06-12 16:02 被阅读170次

    为什么我想用原生UITabBarController加RN来开发APP呢?

    1.考虑到以后可能会涉及到IM功能,目前对于创业公司来说,IM大多使用第三方IM平台开发,许多第三方框架都会有直接UI集成,所以这里用原生tabbar做一个控制跳转.(当然RN也可以封装原生的View)

    2.对于性能要求比较大,图片比较多的界面,比如朋友圈界面等,个人觉得使用原生要更加有效率一些.因为RN中Image组件没有做图片缓存,没有我们习惯的站位图,还是使用SDWebImage更加开心一点.

    3.对于初入RN的童鞋们,怕被入坑后无法自拔,那就使用我这套解决方案吧,让你快速入坑快速出坑

    为什么我们要使用嵌套UINavigationContrller?

    因为我们从RN跳原生这样啦

    这里是牛逼的分割线,进入正题

    1.首先我们先初始化一个RN项目

    2.根据你有几个模块创建几个入口文件(index.ios.js)如图:

    我这里就是直接复制粘贴<index.ios.js>文件,然后修改一下名字

    3.配置pod(如果不想使用pod可以忽略)

    4.下面开始在项目中添加storyboard(喜欢用纯代码的也可以使用纯代码)

    storyboard结构

    4.1.创建好storyboard我们要注意入口文件的修改,选中你的入口控制器

    设置入口控制器

    4.2.配置项目的Main Interface,选择刚刚创建的storyboard

    设置入口

    4.3.AppDelegate的didFinishLaunchingWithOptions方法中return YES;

    5.设置不同模块的不同的RN入口js

    5.1调用RN代码

    注册

    5.2注册RCTBridgeDelegate,并且调用sourceURLForBridge方法

    设置入口JS

    以此类推,设置完其他的RN模块之后,我们便可跑起来我们的项目

    *其他东西:

    RN与原生的交互与相互传参

    请查看我的上篇文章,讲解了最基本的交互,现在讲的是带返回参数的方法

    1.JS中写法

    2.IOS原生中写法

    2.1保存block

    2.2使用block

    注:会node.js的小伙伴应该很容易看懂这段代码。我看了其他第三方框架的RN代码,好像ios通知也可以做原生与RN的交互,大家有兴趣可以去研究研究。

    相关文章

      网友评论

          本文标题:React-Native+原生UITabBarControlle

          本文链接:https://www.haomeiwen.com/subject/qltltxtx.html