React Native adjustsFontSizeToFit - 与panResponder(ios)结合使用时表现奇怪

问题描述 投票:1回答:1

作为前言,我正在尝试制作一个可调整大小的Text组件,允许用户通过拖动来调整高度/宽度。调整大小按预期工作。我的问题是自动调整fontSize以适应组件尺寸。

我正在使用adjustsFontSizeToFit prop,它有效,但并非没有一些奇怪的行为。基本上,当用户拖动,文本增长/缩小时,它偶尔会“隐藏”文本的最后一个字母。如果再稍微拖动,则会再次显示最后一个字母。如果不清楚,这是一个问题的图片......

起始位置:https://i.imgur.com/GuxJKBZ.png

第二位:https://i.imgur.com/nf6Ncif.png

最终位置:https://i.imgur.com/kjeKBJO.png

我一直在拼命寻找答案并尝试不同的解决方案,但似乎没有任何效果。我不明白是什么原因引起了这个问题,但是我可以猜测,似乎字体不能足够快地调整,所以它会导致最后的字母被剪裁。我对这个想法的推理是,一旦fontSize达到其最大值,就不会发生消失。但是,这个问题并不存在,因为字体肯定有适合最后一个字母的空间。

无论如何,这已经差不多一个星期了,我的头靠在墙上,所以我真的希望那里有人可以解决这个问题。我看到的唯一解决方法是编写我自己的fontSize调整,但这看起来很荒谬,考虑到React Native有一个支持。

任何帮助将不胜感激。

编辑...我忘了提到我找到了一个解决方案来删除这封消失的信。该解决方案是从样式中删除高度并将其替换为lineHeight。然而,这会产生一个不同的问题,即fontSize不再调整到组件的高度,这意味着字体有时会大于组件,导致它被切断。

ios react-native gesture react-native-ios
1个回答
-1
投票

我有一个类似的问题(虽然我没有使用PanResponder),我只是在文本后添加了一些空格( )。因此,React Native最终剪切尾随空格而不是文本。

例如:

<Text>
  Foo
  &nbsp;&nbsp;&nbsp;
</Text>

应该导致始终显示“Foo”的每个字符

© www.soinside.com 2019 - 2024. All rights reserved.