在项目中我发现我和测试用的是同样的手机,跑的是同样的代码但是在测试的手机上被遮挡了,在我手机却正常。仔细点会发现我的手机字体比测试的字体小几号
在原生代码 RCTFont.mm 文件里注释如下几行代码,
if (scaleMultiplier > 0.0 && scaleMultiplier != 1.0) {
fontSize = round(fontSize * scaleMultiplier);
}
(代码可能在272行 + (UIFont *)updateFont该方法里面)不同的 版本可能在不同的地方。
改完后发现字体没有变大,但是我们的Text 框还是变形了。当字体变大的时候输入框变高了,这个时候我们在js 里改一下新增一个allowFontScaling={false}
<Text allowFontScaling={false} > {name} </Text>
这样在iOS 里面就不会随字体变化而变化了。
网友评论