如何在React Native中为不同的IOS设备设置字体大小

2023-11-27

在react-native中,我设计了一个示例,当我在不同的IOS设备中检查它时 这是我的代码:

render() {
      return (
        <View style={styles.container}>
             <View style={styles.body}>
             <TouchableHighlight style={styles.facebook} >
             <View style={styles.row}>
             <Image style={styles.icon} source={require('image!fb')}/>
             <Text style={styles.facebookText} >Continue with Facebook</Text>
             </View>
          </TouchableHighlight>
        </View>
        </View>
      )
  }
};
var styles = StyleSheet.create({
  container:{
    marginTop: 65,
    flexDirection:'column',
    flex:1,
    backgroundColor:'transparent'
  },
   body:{
    flex:.5
  },
  facebook:{
    marginTop: 25,
    height: 50,
    padding: 10,
    marginRight: 40,
    marginLeft: 40,
    backgroundColor: '#1A8A29',
  },
    row:{
    flexDirection:'row',
  },
  facebookText:{
    marginLeft: 8,
    fontSize: 20,
    color: 'white',
    alignSelf:'center'
  },
  icon:{
    marginTop: 3,
     marginLeft: 5,
      width: 25,
      height: 25
    }
})

when 我检查 iPhone-6 和 5s 出现字体问题任何人都可以帮我解决这个问题,如何在react-native中为不同的IOS设备设置字体大小任何帮助都非常有用


I've written the following code for my project:

在文件上:multiResolution.js I have:

export function getCorrectFontSizeForScreen(PixelRatio, screenWidth, screenHeight, currentFont){
  let devRatio = PixelRatio.get();
  let factor = (((screenWidth*devRatio)/320)+((screenHeight*devRatio)/640))/2.0;
  let maxFontDifferFactor = 5; //the maximum pixels of font size we can go up or down
  // console.log("The factor is: "+factor);
  if(factor<=1){
    return currentFont-float2int(maxFontDifferFactor*0.3);
  }else if((factor>=1) && (factor<=1.6)){
    return currentFont-float2int(maxFontDifferFactor*0.1);
  }else if((factor>=1.6) && (factor<=2)){
    return currentFont;
  }else if((factor>=2) && (factor<=3)){
    return currentFont+float2int(maxFontDifferFactor*0.65);
  }else if (factor>=3){
    return currentFont+float2int(maxFontDifferFactor);
  }

}

function float2int (value) {
  return value | 0;
}

然后在每个反应本机组件上我执行以下操作:

import { PixelRatio } from 'react-native';
import {getCorrectFontSizeForScreen} from './multiResolution' 
import Dimensions from 'Dimensions';
const {height:h, width:w} = Dimensions.get('window'); // Screen dimensions in current orientation

然后在我的styles I do:

var portraitStyles = StyleSheet.create({
  titleText: {
    fontSize: getCorrectFontSizeForScreen(PixelRatio, w,h,27),//magic takes place here
  },
});

这是习惯,但对我来说效果很好。

另外(与你的问题无关,但我还是要说),我使用与 screenWidth 和 screenHeight 相关的宽度和高度,如下所示:

aStyleForAnElement:{    //this element will occupy
    width: w*0.55, //55% of the screen width
    height:h*0.05  //5% of the screen height
}

到目前为止,这就是我在项目中支持不同屏幕尺寸的方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在React Native中为不同的IOS设备设置字体大小 的相关文章

随机推荐

  • 从 C# 中的 List 中删除重复项

    有人有一种在 C 中对通用列表进行重复数据删除的快速方法吗 如果您使用 Net 3 则可以使用 Linq List
  • 如何在 JavaScript 中处理 ctrl+arrow ?

    I ve noticed an problem when trying to catch keyboard shortcut CTRL an arrow I ve handled keydown event Now when I hold
  • 拼接微芯片的显微镜图像

    因此 我正在尝试拼接微芯片显微镜拍摄的图像 但很难将所有特征对齐 我已经在两个相邻图像之间有 50 的重叠 但即使如此 它也并不总是很合适 我使用 SURF 和 OpenCV 来提取关键点并找到单应矩阵 但尽管如此 这还远远不是一个可以接受
  • 如何在我的 iPhone 应用程序中包含字体?

    我已经看过这个帖子了 我可以在 iPhone 应用程序中嵌入自定义字体吗 这很有帮助 但我想简单地通过以下方式加载字体 UIFont font UIFont fontWithName Harrowprint size 20 有些人报告说这是
  • 为什么在 JavaScript 中,'3 instanceof Number' == false,但 '3..method()' 会调用 Number.prototype.method?

    鉴于字面数字严格来说不是一个实例Number 为什么我可以调用原型方法Number or String or Boolean 对应文字对象上的对象 这是跨浏览器的标准行为吗 当这种情况发生时到底发生了什么 我怀疑它在调用方法之前将文字强制转
  • 如何多次执行存储过程

    我有一个存储过程 我像这样执行 exec sp storedProc 123 ME 333 NULL 我需要指定 400 个不同的值 如何同时执行具有不同值的存储过程 您可以尝试使用 CURSORS 来完成此操作 DECLARE param
  • 如何从Instagram公共访问API获取视频?

    我知道这个 api 可以获取图像 但是视频呢 https www instagram com username a 1 我能够获取视频的缩略图 但无法获取源或网址本身 当您进行上述 API 调用时 它将返回code在里面 看起来像这样 BW
  • 鼠标移动时淡入

    如何使用 JavaScript 在第一次鼠标移动时淡入 div 内容 例如在 google com 上 我不想让它再次消失 Code 查看实际效果 attach event handler document body onmousemove
  • 使用configurationmanager从多个web.config文件中读取

    背景 我有一些数据存储在大约 100 个 Web 应用程序的 web config 文件中 这些数据正在逐渐转移到数据库中 网页将显示 web config 数据 直到有人单击 编辑 链接 在这种情况下 他们将被重定向到一个网页 该网页将允
  • System.ArgumentException:复杂 DataBinding 接受 IList 或 IListSource 作为数据源

    我使用下面的 C 代码来填充 WinForms 列表框 但是我想隐藏所有系统文件夹 例如 RecyclingBin 但它给了我以下错误 System ArgumentException 复杂 DataBinding 接受 IList 或 I
  • 使用 vba 取消选择数据透视表中的所有项目

    有人可以快速解释如何取消选择新创建的数据透视表中的所有项目 以便我可以返回并仅选择一个或两个项目吗 我尝试了以下方法 PivotItems Select All Visible False Thanks 这可能是最接近您想要的 Dim i
  • 在 node.js 中运行 .wasm 文件

    我读过很多关于在 Node js 中运行 wasm 文件的文章 每当我测试代码时 它都会抛出此错误 TypeError WebAssembly instantiate Import 0 module wasi snapshot previe
  • 使用自动布局删除并重新添加子视图

    使用自动布局时 我的理解是删除子视图 当然同时保留对它的引用 删除的子视图仍然知道其自动布局约束 但是 当稍后将其添加回超级视图时 子视图不再知道其帧大小 相反 它似乎得到了零帧 我假设自动布局会自动调整其大小以满足约束 难道不是这样吗 我
  • 使用 Moq 验证私有方法的执行

    我想测试以下逻辑 这显然是我的方法的精简版本 public void myPublicMethod params if some condition privateMethod1 else privateMethod2 我模拟了该方法中的所
  • 枚举成员可以是 ANSI-C 中数组的大小吗?

    我需要根据有多少个元素来分配一个数组enum有 我做了以下事情 enum A B C LAST char buf LAST 效果很好 即使是 ansi pedantic旗帜 但我不确定它是否是 GCC 或 clang 支持大多数 如果不是全
  • 如何在Powershell中搜索多个文件中的字符串并返回文件名?

    几天前我开始学习 powershell 我在谷歌上找不到任何可以满足我需要的东西 所以请忍受我的问题 我被要求将一些文本字符串替换为多个文件 我不一定知道可能的目标文件的扩展名 也不知道它们的位置 到目前为止 我已经成功地递归浏览到目录 g
  • 计算敲除的循环依赖性

    请参阅工作 jsFiddle http jsfiddle net ruslans vFK82 我有 3 个字段 净价 不含税 税额和总价 价格不含增值税 税额 NetPrice 和 Total 是可写的 即您可以更改其中任何一个 而其他 2
  • 模板引擎建议[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找模板引擎 要求 在 JVM 上运行 Java 很好 Jython JRuby 等等 可以在 servlet 之外使用 与 JSP 不同 是灵活的 模板存储的地方 JSP和很
  • 使用 Python 计算点密度

    我有一个来自世界特定地区地理数据的 X 和 Y 坐标列表 我想根据每个坐标在图表中的位置为其分配一个权重 例如 如果一个点位于其周围有很多其他节点的地方 则该点位于高密度区域 因此具有较高的权重 我能想到的最直接的方法是围绕每个点绘制单位半
  • 如何在React Native中为不同的IOS设备设置字体大小

    在react native中 我设计了一个示例 当我在不同的IOS设备中检查它时 这是我的代码 render return