
React-Native
苏小败在路上
不一样的人生
展开
-
React-Native键盘遮挡问题进阶发现
我在前面也写了一篇关于键盘遮挡问题的解决方案,这次的原理也差不多,不过在后续的研究中发现官方给了一个有意思的组件叫 KeyboardAvoidingView。然后就动手去试了一试,然而效果并不好!具体用法可以参考这里:点击打开链接不过随着RN的更新,这个官网肯定会解决的,但是在官方还没填坑前,还是得自己动手解决啦。我前面博客的处理方法:点击打开链接其实原理是要获取到键盘原创 2016-11-30 10:04:42 · 7812 阅读 · 6 评论 -
React-Native自定义view显示(js端)
上一篇是原生方面的代码,现在说下js这边的代码,由于自己水平也不够,都是参照别人的插件写的'use strict'import React, { Component } from 'react';import { View } from 'react-native';import { requireNativeComponent } from 'react-native';c原创 2016-09-06 12:00:06 · 1819 阅读 · 0 评论 -
React-Native自定义view的缩放问题
前不久根据RN中文网写了一个带drawRect的原生UIView,虽然可以完整显示出所有需要画的东西,但是缩放就出现了问题。我想要达到的目的是想网页一样缩放,就是在移动之后,在屏幕中心缩放。这个问题最后在网上找到一个解决方法,其实就是就缩放之前,先进行位移,然后进行缩放,最后在做实际的位移既可以,代码如下:CGContextRef context = UIGraphicsG原创 2016-09-09 13:31:53 · 3165 阅读 · 0 评论 -
React-Native导出模块的认识
在平时写代码的时候,我们都会定义一个常量类,以供所有地方使用,这个在RN上面更加好。首先只要创建一个js文件,然后在里面写各种定义的常量或者function都可以,如:let Consts = { //界面跳转时,是替换还是加入,或者其他方式 NAVI_REPLACE: 0, NAVI_PUSH: 1, NAVI_RESET: 2,};l原创 2016-09-13 13:24:08 · 2757 阅读 · 0 评论 -
React-Native中Array渲染的key的作用
我们在项目里面,经常会用的批次渲染,比如一个列表渲染很多个item,或者一个横排或者竖排同时渲染多个数据。例如: render1(){ var arr = []; for(var i=0;i<5;i++){ arr.push( 这是{i} ); } return (原创 2016-09-14 12:38:30 · 14285 阅读 · 3 评论 -
React-Native接入Unity导出项目,展示3D模型
今天突然想到在RN里面展示一些3D模型,这样可以增加软件的表现力。我首先想到的是Unity3D,因为以前做过Unity3D的项目,它使用简单,最主要是用C#语言,对于我这个以前用C/C++的人来,是一个很不错的开发工具。使用的版本:Xcode:7.3.1 Unity3D:5.3.5f1 RN:React:15.3.2,React-Native:0.33.0那么开始记录我的做法:原创 2016-09-21 08:47:17 · 8788 阅读 · 4 评论 -
React-Native中禁用Navigator手势返回
在React-Native开发中,经常会用到导航。导航做什么用的呢,简单点说就是页面跳转。一个项目中,肯定有很多的页面要跳来跳去的,RN就给我们提供了Navigator组件,可以很好的管理页面的跳转。在所有工作做完之后,发现有个bug!在从第一个界面跳转到下一个界面后,如果从屏幕左边向右滑,或者从上面想下滑,你会发现一个神奇的事情,那就是页面会通过滑动而返回到上一个界面。这让我们很尴尬了,原创 2016-09-21 12:50:49 · 6300 阅读 · 3 评论 -
React-Native手势识别(曲线比较)
最近在项目中需要用到一个曲线对比,也就是在屏幕上画一条线,然后和预制的手势曲线比较,看看用户是不是使用的这个手势。这个让我想到以前在做Unity的时候,找到过一个类似的插件,专门用来识别一些特殊自定义的手势,于是乎就将那个插件的代码移植到RN上来,方便以后使用。看了看源码,大概的意思是两条线分别标准化成32个点的离散点集,然后缩放归一化,最后计算每个点最近的距离,得到总距离除以32,循环一原创 2016-09-29 13:40:15 · 1255 阅读 · 0 评论 -
React-Native画线平滑处理
这次开发要手写画线,我们一般画线的时候是直接获取屏幕上的点,然后利用ART绘制出一天路径线:/** * Sample React Native App * https://github.com/facebook/react-native * @flow */import React, { Component } from 'react';import { StyleSheet原创 2016-10-12 10:59:08 · 6702 阅读 · 8 评论 -
React-Native使用小发现
5、在创建自定义原生模块时,命名一定要注意,不能带RCT前缀。RCT前缀适用于原生View,搭配RCT***Manager一起使用,可能是RN内部设置。6、在实际开发中,IOS使用模拟器调试时,经常按cmd+R键进行重新load操作。但是有时候按的不对时,就会按到cmd+T键,如果在不知情的情况下,你将会看到模拟器运行起来特别的卡顿,这是为什么呢?经过我自己的排查,终于发现问题所在!原来就是按到cmd+T快捷键了,那么这个快捷键是做什么用的呢?我在模拟器的菜单栏里面就找到了这么一个说明:在Debug选项中原创 2016-10-15 16:51:29 · 6401 阅读 · 0 评论 -
React-Native新版本RCTEventEmitter的使用(从原生发送消息到JS)
记得在0.27版本之前,RN的文档里面就告诉了我们怎么从Native端主动发消息到JS端,上面说的方式是这样的:@synthesize bridge = _bridge;-(void)iseCallback:(NSString*)code result:(NSString*) result{ [_bridge.eventDispatcher sendDeviceEventWit原创 2016-10-17 12:57:23 · 22604 阅读 · 8 评论 -
React-Native在APP调用浏览器或其他系统应用(Linking的使用)
这个其实在RN的文档中已经写好了,不过最新的依然不需要做文档中的额外步骤。直接在自定义的组件里面引用Linking,然后使用Linking的openURL函数即可,这个会自动选择系统的浏览器打开链接。var url = 'http://www.baidu.com'; Linking.openURL(url) .catch((err)=>{ console.原创 2016-11-03 14:33:02 · 16516 阅读 · 3 评论 -
React-Native解决键盘遮挡问题(Keyboard遮挡问题)
在开发中经常遇到需要输入的地方,RN给我们提过的TextInput虽然好用,可惜并没有处理遮挡问题。很多时候键盘弹出来都会遮挡住编辑框,让人很头疼。本来想在js.coach 库里面找一找第三方的插件,看到最好的一个就是react-native-keyboard-spacer了,然而我们还差一个东西,那就是获取键盘的高度。这个我也查了半天并没有提供,获取没找到吧。于是只好自己写原生模块去原创 2016-11-08 09:28:26 · 11611 阅读 · 6 评论 -
React-Native接入Google Sign-In授权登录
在项目开发中,经常需要使用第三方授权登录,比如QQ,FB,TWTR等等,今天就把我自己研究的Google授权登录写出来。当然,一开始你也可以去第三方库搜索GOOGLE,有人已经贡献出来了。点击打开链接我自己最开些想找FB和TWITTER的,然后都不好用,所以都是自己动手写的,于是这个GOOGLE的也就顺手写了。后面才去js.coach上去查的。GOOGLE的登录有点坑人,根据官网的提示原创 2016-11-18 09:00:00 · 5346 阅读 · 0 评论 -
React-Native自定义view显示(原生端)
自定义view: 自己写原生的view显示在RN界面上。这次主要是项目需要绘制一张大图,里面有很多节点和线,如果使用单纯RN提供的view去做,需要的内存不够(量级在K以上),所以需要想办法在一个view中画所有的点和线。自己在想的过程中,也去找了一些相关的RN插件,一个是react-native-svg,很好的插件,由于我需要动态更改节点和线的位置,这个插件不能很好的展示原创 2016-09-06 10:59:38 · 6586 阅读 · 0 评论