【问题标题】:React Native adjustsFontSizeToFit - behaving oddly when combined with panResponder (ios)React Native adjustsFontSizeToFit - 与 panResponder (ios) 结合使用时表现异常
【发布时间】:2017-10-30 21:01:33
【问题描述】:

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

我正在使用 adjustsFontSizeToFit 道具,该道具有效,但并非没有一些奇怪的行为。本质上,随着用户拖动,文本变大/缩小,它偶尔会“隐藏”文本的最后一个字母。如果稍微进一步拖动,最后一个字母将再次出现。如果不清楚,这里是问题的图片......

起始位置: 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】:

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

    例如:

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

    应该导致“Foo”的每个字符总是被显示

    【讨论】:

    • 添加更多描述
    • 很有趣,我实际上也以这种方式解决了它。不过,感谢答案!出于好奇,你用什么代替泛响应器??
    • 我没有在我的应用程序中处理多个手势,所以我只需要 TouchableWithoutFeedback。
    猜你喜欢
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    相关资源
    最近更新 更多