ios - React-Native iOS 参考 xcassets 图像大小错误
问题描述
Xcode 10.0
iOS 7 及更高版本
我设置了一个应用程序,以便它加载由 处理的特定启动图像xcassets
,具有适合iOS 6及更高版本的大小。这些图像加载良好。
当应用程序完成加载时,我想将加载图像用作应用程序内的背景splash/login button
。我使用具有适当大小和命名约定source={{uri: "LaunchImage"}}
(Default.png、Default@2x.png、Default-568@2x.png 等)的图像(或 BackgroundImage)。xcassets
然而,在应用程序中,它似乎只引用了基本的、最小的图像(Default.png)而不是正确大小的图像(例如,7 的 Default-568@2x.png)。
这是 React-Native 应该正确处理的事情吗?有没有办法让我指定 source.uri 中的大小?
谢谢。
解决方案
如果图像看起来更小,我们可以scale
将其设置为适合组件内部的图像。Image
icon={{uri: check', scale: 2}}
我们不必担心为不同的设备适配不同尺寸的图像。
根据 React Native 文档
文件结构:
├── button.js
└── img
├── check@2x.png
└── check@3x.png
您的 .js 文件:
<Image source={require('./img/check.png')} />
节点打包器将根据设备的屏幕密度捆绑并提供图像。例如,
check@2x.png
, 将用于 aniPhone 7
,而check@3x.png
将用于 aniPhone 7 Plus
或 aNexus 5
。如果没有匹配屏幕密度的图像,将选择最接近的最佳选项。
推荐阅读
- numpy - Numpy ndarray分配问题
- typescript - TS 函数声明中的参数类型限制
- css - 当屏幕宽度变小时,绝对定位的 Div 会离开屏幕
- node.js - 如何使用节点将 .doc、.docx、.ppt 文件转换为 .pdf 文件
- java - 编写器中的Spring批量读取作业参数
- angular - 选择选项卡 Angular 8 后,选择/单击 ngFor 列表中的第一项
- passwords - LockScreen 在 parrotSec OS 上不要求输入密码
- c# - 如何检索字符串数组中某个字符的计数?
- sql - SQL INSERT INTO 仅用于第一行
- c++ - 动态获取esp32的mac地址并在以太网库中使用