作为前言,我正在尝试制作一个可调整大小的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不再调整到组件的高度,这意味着字体有时会大于组件,导致它被切断。
我有一个类似的问题(虽然我没有使用PanResponder),我只是在文本后添加了一些空格(
)。因此,React Native最终剪切尾随空格而不是文本。
例如:
<Text>
Foo
</Text>
应该导致始终显示“Foo”的每个字符