前言 原文 https://kunnan.blog.csdn.net/article/details/104353863 效果 I 、 创建渐变色背景图片 1.1 核心代码
进入到你的项目(绝对路径不要带中文)。 ios ios执行react-native run-ios 该命令会调起Xcode的自带iPhone模拟器。...提示:如果 Command⌘ + R 无法使你的iOS模拟器器加载js,则可以通过选中Hardware menu中 Keyboard选项下的 “Connect Hardware Keyboard” 。...Errors and Warnings 在development模式下,js部分的Errors 和 Warnings会直接打印在⼿机或模拟器屏幕上,分别以红屏和黄屏展示。...errors:React Native程序运行时出现的Errors会被直接显示在屏幕上,以红⾊的背景显示,并会打印出错误信 息。...因为错误定位经常是不准确的。 Warnings :React Native程序运行时出现的Warnings也会被直接显示在屏幕上,以黄⾊的背景显示,并会打印出警 告信息。
完成后的应用将如下图所示 为什么启动画面的图片大小很重要 为移动应用创建启动画面可能会有些棘手,你肯定不希望由于启动画面分辨率的不一致在某些设备上出现显示问题。例如,安卓设备的需求与iOS完全不同。...将 iOS 中的三张图片拖到 Xcode 上命名为 1x, 2x 和 3x 的三个框中: 接下来,选择 LaunchScreen.storyboard。...将内容模式设置为“aspect fit”,如下所示: 更改iOS启动屏幕颜色 你可能会问的下一个问题是“我如何在 React Native 中更改启动屏幕的背景颜色?”...为了在 iOS 中为启动屏幕强制使用一致的背景,滚动到背景设置位置并从下拉菜单中选择 Custom。在弹出窗口中,选择启动屏幕的期望颜色。...我们可以用我们的自定义图像替换它。同样,我们可以调整图像的大小(即 contain、cover、stretch),以更好地适应我们的屏幕,最后,我们可以根据我们的选择设置背景颜色。
有一些热重载无法完美实现的情况。如果运行到了任何问题,使用全重载来重置你的app。...错误(Errors) app中的错误会在你的app中用红色背景的全屏显示。这个屏幕也叫RedBox。你可以使用 console.error() 来手动触发一个。...警告(Warnings) 警告会在屏幕上用黄色背景显示。这些警告条也叫YellowBox。点击警告条来显示更多信息或者让它们不显示。...RedBox和YellowBox在发布构建中都是自动关闭的 访问控制台日志 app运行时你可以通过在终端使用下面的命令为iOS和Android app显示控制台日志: react-native...log-ios react-native log-android 你也可以通过在iOS模拟器中访问 Debug -> Open System Log...
我们想要一种长度单位,在同样物理尺寸大小的屏幕上(不论分辨率谁高谁低,只要物理尺寸大小一样即可),1个单位的长度所代表的物理尺寸是一样的。...当前手机的屏幕信息 它反映出,当前手机屏幕的宽度占据360个单位,高度占据640个单位。像素比例是3,实际上这就是一个 1080 * 1920 像素的手机。...1、指定宽高 RN 中的尺寸都是 无单位的,表示的是与设备像素密度无关的逻辑像素点 指定宽高一般用于在不同尺寸的屏幕上都显示成一样的大小 import {View} from 'react-native...ios_backgroundColor='x' 在iOS上,自定义背景颜色。当开关值为false或开关被禁用时(开关是半透明的),可以看到这个背景颜色。...在 iOS 上设置此颜色会丢失按钮的投影。 tintColor='x' 关闭状态时的边框颜色(iOS)或背景颜色(Android)。 value=布尔值变量 表示此开关是否打开。
(2)TabNavigator:类似底部导航栏,用来在同一屏幕下切换不同界面 (3)DrawerNavigator:侧滑菜单导航栏,用于轻松设置带抽屉导航的屏幕 ?...iOS默认支持,安卓默认关闭 screen:对应界面名称,需要填入import之后的页面 mode:定义跳转风格 card:使用iOS和安卓默认的风格。...直接切换 modal:iOS独有的使屏幕从底部拖出 headerMode:返回上级页面时的动画效果 float:iOS的默认效果 screen:滑动过程中,整个页面都会返回 none:无动画 cardStyle...path:路由中设置的路径的覆盖映射配置。...定义几个要切换的tab,每个tab设置好对应要显示的屏幕。
ScrollableTabBar:Tab可以超过屏幕范围,滚动可以显示。...bottom:位于屏幕底部 overlayTop:位于屏幕顶部,悬浮在内容视图之上(看颜色区分:视图有颜色,Tab栏没有颜色) overlayBottom:位于屏幕底部,悬浮在内容视图之上...,tabBarBackgroundColor(String) 设置整个Tab这一栏的背景颜色 11,tabBarActiveTextColor(String) 设置选中Tab的文字颜色...,iOS平台用的是ScrollView。...这个属性的意义是:比如我们设置了某个属性,最后这个属性会被应用在ScrollView/ViewPagerAndroid,这样会覆盖库里面默认的,通常官方不建议我们去使用。
上面的代码里已经包含了具体的用法,你只需整个复制到index.ios.js或是index.android.js文件中即可运行。...,比如要求在不同尺寸的屏幕上都显示成一样的大小。...Flexbox可以在不同屏幕尺寸上提供一致的布局结构。 ...style={{ borderWidth: 1 / PixelRatio.get() }} 获取一个正确大小的图像 如果你使用的是一台像素密度比较高的设备上,那你应该得到一个更高分辨率的图像...一个好的经验法则是在pi xel ratio上显示多种图像的尺寸。
React Native 状态栏组件 StatusBar 状态栏 StatusBar 就是手机屏幕最顶上一个区域,包含 运营商名称、网络情况、电池情况那一条。..." hidden = {true|false} animated = {true|false} /> 注意 React Native 中的 StatusBar 采用覆盖规则...后面定义的 的属性会覆盖前一个 `` 设置的属性。...值说明 值说明default默认主题色,iOS 上是 dark-content ,Android 是 light-contentlight-content暗色的背景,亮色的文字和图标dark-content...亮色的背景,暗色的文字和图标( Android 要求 API >= 23 ) StatusBarAnimation StatusBarAnimation 枚举常量定义了状态栏可用的动画效果。
这可以让你在重载中保持app的状态。 有一些热重载无法完美实现的情况。如果运行到了任何问题,使用全重载来重置你的app。 ...▪ 你修改了原生代码(iOS上的Objective-C/Swift或者Android中的Java/C++). 1.4 应用内的错误与警告提示(红屏和黄屏) 错误和警告会在开发构建时显示在你的...1.4.1 错误(Errors) app中的错误会在你的app中用红色背景的全屏显示。这个屏幕也叫RedBox。你可以使用console.error()来手动触发一个。...1.4.2 警告(Warnings) 警告会在屏幕上用黄色背景显示。这些警告条也叫YellowBox。点击警告条来显示更多信息或者让它们不显示。 .... 1.5 访问控制台日志 app运行时你可以通过在终端使用下面的命令为iOS和Android app显示控制台日志: react−nativelog−ios react-native
tintColor : 导航栏上按钮的颜色设置。 titleTextColor : 导航栏上字体的颜色 。 translucent : 导航栏是否是半透明的,true/false。...NavigatorIOS使用步骤 初始化路由 注意:component,需要传入组件,自定义组件 NavigatorIOS上的按钮图片,默认会被渲染成蓝色 NavigatorIOS上的按钮,只能放一张图片...modal:iOS独有的使屏幕从底部画出。...类似iOS的present效果 headerMode:返回上级页面时动画效果 float:iOS默认的效果 screen:滑动过程中,整个页面都会返回...onTransitionEnd:当转换动画完成,将被调用的功能 path:路由中设置的路径的覆盖映射配置 initialRouteName:设置默认的页面组件
这些测试是通过Travis持续集成系统来运行的,并且会自动针对你提交的代码给出测试结果。 当然我们的测试不可能有完整的覆盖率(尤其对于复杂的用户交互),所以很多更改也还需要仔细的人工审查。...我们期待你能帮助我们提高测试覆盖率,以及提供更多的测试代码或是测试用例。 使用Jest来测试 Jest是在命令行通过node来执行的纯js测试工具。测试代码放置在__tests__目录下。...注意:你可能需要先在当前的环境中安装、更新或是链接Node.js和其他的一些工具,不然测试可能无法正常运行。点这里查看最新的测试配置文件.travis.yml。...快照测试 (iOS) 快照测试是集成测试的一种常见类型。...屏幕截图在32位和64位色深以及不同的操作系统版本上可能会有细微的差别,所以建议强制在指定的配置环境中执行测试。此外我们还强烈建议所有的网络数据和其他的潜在依赖项都应该事先模拟。
,这个值在最小值和最大值范围之间 maximumTrackImage ios 指定一个最大的轨道图像。...只有静态图像的支持。图像的最左边的像素将被拉伸以填充轨道。 maximumTrackTintColor ios 用于轨道的按钮右侧的颜色。...覆盖默认的蓝色渐变图像 minimumTrackImage ios 分配的最小轨道的图像。只有静态图像的支持。图像的最右边的像素将被拉伸以填充轨道。...minimumTrackTintColor ios 用于轨道的按钮的左边的颜色。覆盖默认的蓝色渐变的图像。 thumbImage ios 给滑块设置一张图片。只支持静态图片。...trackImage ios 给轨道设置一张背景图。只支持静态图片。 实例演示 来,看看效果图大致如下: ?
iOS 11图像放大闪烁问题 功能背景: 用户点击圆形头像后,头像会放大到等同屏幕宽度,并且从圆形展示变成正方形展示。...整个过程的动画内容包括两个: 1、imageView的frame变成覆盖整个屏幕; 2、imageView的layer.cornerRadius变成0; 以上的代码,在iOS 10下没有闪烁问题,但是...正常的动画时序 从动画的异常表现上猜测,原因是动画延迟执行。...只能把Bug总结为:iOS 11系统的手机在某些情况下会发生系统错误,导致整个手机的动画机制出现异常。 Bug出现之后,无法通过代码修复(iOS系统错误),只能重启手机。...iOS 11 下拉刷新异常问题 功能背景: 在某些页面中,存在下拉刷新/上拉加载更多的功能。 ?
一、图片尺寸和分辨率(Image Size and Resolution) iOS屏幕上放置内容的坐标系统,是基于以点为单位的测量值,该测量值是映射到显示器的像素。...保持背景简单,避免透明。确保您的图标不透明,并且不要弄乱背景。给它一个简单的背景,以免影响附近的其他应用程序图标。您无需在整个图标中填充内容。 仅在必不可少的徽标或徽标的一部分时使用单词。...不要包含照片,屏幕截图或界面元素。小尺寸的照片细节可能很难看清。屏幕截图对于应用程序图标而言过于复杂,通常无法帮助传达应用程序的用途。图标中的界面元素具有误导性和混乱性。...您无法预测人们会为他们的主屏幕选择哪些壁纸,因此,不要仅仅针对浅色或深色测试您的应用。查看不同照片的外观。在具有动态背景的实际设备上尝试使用该设备,该动态背景会随着设备的移动而改变视角。...iOS会自动为所有图标添加1像素描边,以便它们在“设置”的白色背景上看起来更友好。 用户可选的应用程序图标 对于某些APP来说,定制是一项能够唤起用户共鸣并增强用户体验的功能。
React Navigation 是用 JavaScript 编写的,并不直接使用 iOS 和 Android 上的原生导航 API。相反,它重新创建了这些 API 的某些子集。...React Native Navigation 有一点不同,它直接使用 iOS 和 Android 上的原生导航 API,这使得它能够提供更加原生的外观和感觉。...则利用了原生 API;iOS 上的 UINavigationController 和 Android 上的 Fragment,这样导航的行为就会与原生构建的应用程序一样。...我们将其配置为熟悉的 iOS 和 Android 外观和感觉:在 iOS 中,新屏幕从右侧滑入,而在 Android 中,新屏幕从底部淡入。...当你无法直接将导航属性传递给组件时,它非常有用。 老实说,我更经常使用 Hook,因为它更容易在我的功能组件中进行管理,而且使用起来也非常方便。
如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的 Framebuffer,作为像素数据存储区域,GPU 不停地将渲染完成后的内容放入 Framebuffer 帧缓冲器中,而显示屏幕不断地从...其中Offscreen Buffer 的总大小也有限,不能超过屏幕总像素的 2.5 倍; 渲染的上下文切换:离屏渲染的整个过程,需要进行两次上下文环境切换, 先切换到屏幕外环境, 离屏渲染完成后再切换到当前屏幕...,超过 2.5 倍屏幕像素大小的话也会失效,无法复用。...但如果加上了背景色、边框或其他有图像内容的图层,还是会产生离屏渲染。...总结一下,iOS 9 之后圆角造成离屏渲染的条件包括: 圆角 裁剪 layer 的 contents 不为 nil 设置了背景色 / 边框 / 其他有图像内容的图层 有些结论一定要自己去试一下,就比如说我上面的结论也不一定是对的
您可以决定在要使用的平台的模拟器/仿真器上运行,也可以直接在自己的设备上运行它。 DOM和样式 React-Native不使用HTML来渲染应用程序,而是提供以类似方式工作的替代组件。...这些React-Native组件映射了在应用程序上呈现的实际的真正的原生iOS或Android UI组件。...它看似CSS,但却不是真正的CSS.这可能一开始会令人困惑,你可能会碰到一个问题,比如你想知道如何使用SASS来创建混合,或者如何覆盖要重用的组件的样式。...React-Native还提供了LayoutAnimation ,它实际上非常酷,并且使用过渡渐变很简单,但在这一点上只适用于iOS,因为Android支持度不好。...PanResponder需要应用于您的组件的View(或文本或图像)以启用此视图上的触摸处理程序。
在官方文档中,只给出在Window上安装React Native的教程,没有给Mac下的教程,我在网上找了半天,找了部分内容,又根据自己的理解整理了一下 1、安装Java 这里需要注意对环境变量的设置,...注意,目前已知Node 7.1版本在windows上无法正常工作,请注意避开这个版本!...(这个过程屏幕上可能出现很多小数点,表示下载进度。这个时间可能耗时很久,也可能会不停报错链接超时、连接中断等等——取决于你的网络状况和墙的不特定阻断。)...仔细预览我们会发现在安装cli的时候,系统给我们一些提示(告诉我们可以怎么运行项目): To run your app on iOS: cd D:\html5\react_native\react-native...\react-native-cli\reactNative react-native run-ios - or - Open D:\html5\react_native\react-native\react-native-cli
二、动画(Animation) 整个iOS系统中的精美微妙的动画使人与屏幕上的内容之间建立了视觉上的联系。如果使用得当,动画可以传达状态,提供反馈,增强直接操纵的感觉,并帮助用户可视化其动作的结果。...过多或不必要的动画会使人感到与外界分离或分散注意力,尤其是在无法提供身临其境的体验的应用程序中。iOS使用运动效果(例如视差效果)在主屏幕和其他区域创建深度感。...色盲人可能无法区分某些颜色组合;而对比度不足会导致图标和文本与背景混合,使内容难以阅读。 系统颜色 iOS提供了一系列的系统颜色,可自动适应活动和可访问性设置的变化,如增加对比度和降低透明度。...视频放大以铺满设备屏幕。可能会发生一些边缘裁剪。这是宽视频的默认查看模式(2:1到2.40:1)。 适合屏幕(纵横)模式。整个视频在屏幕上可见。会出现信箱或邮筒模式。...当视频内容使用嵌入式信箱或邮筒模式填充以符合特定的纵横比时,iOS无法根据用户选择的观看模式正确地缩放视频。嵌入的视频会使其在全屏模式和适合屏幕模式下显示得更小。